Removal of QuestItemHolder class.
This commit is contained in:
parent
853e48cd81
commit
a849367e88
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@ -48,25 +48,25 @@ public class Alexandria extends AbstractNpcAI
|
||||
new ItemHolder(9817, 50),
|
||||
};
|
||||
// Agathions
|
||||
private static final QuestItemHolder[] LITTLE_DEVILS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_DEVILS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10321, 600, 1, 10408),
|
||||
new QuestItemHolder(10322, 10),
|
||||
new QuestItemHolder(10323, 10),
|
||||
new QuestItemHolder(10324, 5),
|
||||
new QuestItemHolder(10325, 5),
|
||||
new QuestItemHolder(10326, 370),
|
||||
new AdditionalItemChanceHolder(10321, 600, 1, 10408),
|
||||
new ItemChanceHolder(10322, 10),
|
||||
new ItemChanceHolder(10323, 10),
|
||||
new ItemChanceHolder(10324, 5),
|
||||
new ItemChanceHolder(10325, 5),
|
||||
new ItemChanceHolder(10326, 370),
|
||||
};
|
||||
private static final QuestItemHolder[] LITTLE_ANGELS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_ANGELS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10315, 600, 1, 10408),
|
||||
new QuestItemHolder(10316, 10),
|
||||
new QuestItemHolder(10317, 10),
|
||||
new QuestItemHolder(10318, 5),
|
||||
new QuestItemHolder(10319, 5),
|
||||
new QuestItemHolder(10320, 370),
|
||||
new AdditionalItemChanceHolder(10315, 600, 1, 10408),
|
||||
new ItemChanceHolder(10316, 10),
|
||||
new ItemChanceHolder(10317, 10),
|
||||
new ItemChanceHolder(10318, 5),
|
||||
new ItemChanceHolder(10319, 5),
|
||||
new ItemChanceHolder(10320, 370),
|
||||
};
|
||||
private static final Map<String, List<QuestItemHolder>> AGATHIONS = new HashMap<>();
|
||||
private static final Map<String, List<ItemChanceHolder>> AGATHIONS = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
@ -94,7 +94,7 @@ public class Alexandria extends AbstractNpcAI
|
||||
final int chance = getRandom(1000);
|
||||
int chance2 = 0;
|
||||
int chance3 = 0;
|
||||
for (QuestItemHolder agathion : AGATHIONS.get(event))
|
||||
for (ItemChanceHolder agathion : AGATHIONS.get(event))
|
||||
{
|
||||
chance3 += agathion.getChance();
|
||||
if ((chance >= chance2) && (chance2 < chance3))
|
||||
@ -103,9 +103,9 @@ public class Alexandria extends AbstractNpcAI
|
||||
{
|
||||
giveItems(player, agathion);
|
||||
htmltext = "30098-03.html";
|
||||
if (agathion instanceof AdditionalQuestItemHolder)
|
||||
if (agathion instanceof AdditionalItemChanceHolder)
|
||||
{
|
||||
giveItems(player, ((AdditionalQuestItemHolder) agathion).getAdditionalId(), 1);
|
||||
giveItems(player, ((AdditionalItemChanceHolder) agathion).getAdditionalId(), 1);
|
||||
htmltext = "30098-03a.html";
|
||||
}
|
||||
}
|
||||
@ -121,11 +121,11 @@ public class Alexandria extends AbstractNpcAI
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private static class AdditionalQuestItemHolder extends QuestItemHolder
|
||||
private static class AdditionalItemChanceHolder extends ItemChanceHolder
|
||||
{
|
||||
private final int _additionalId;
|
||||
|
||||
public AdditionalQuestItemHolder(int id, int chance, long count, int additionalId)
|
||||
public AdditionalItemChanceHolder(int id, int chance, long count, int additionalId)
|
||||
{
|
||||
super(id, chance, count);
|
||||
_additionalId = additionalId;
|
||||
|
@ -22,7 +22,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.util.Util;
|
||||
@ -101,15 +101,15 @@ public class Q00372_LegacyOfInsolence extends Quest
|
||||
private static final int SEALED_MAJESTIC_CIRCLET_DESIGN = 5528;
|
||||
// Monsters
|
||||
private static final int HALLATES_INSPECTOR = 20825;
|
||||
private static final Map<Integer, QuestItemHolder> MONSTER_REWARDS = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MONSTER_REWARDS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_REWARDS.put(20817, new QuestItemHolder(ANCIENT_RED_PAPYRUS, 302, 1));
|
||||
MONSTER_REWARDS.put(20821, new QuestItemHolder(ANCIENT_RED_PAPYRUS, 410, 1));
|
||||
MONSTER_REWARDS.put(HALLATES_INSPECTOR, new QuestItemHolder(ANCIENT_RED_PAPYRUS, 447, 1));
|
||||
MONSTER_REWARDS.put(20829, new QuestItemHolder(ANCIENT_BLUE_PAPYRUS, 451, 1));
|
||||
MONSTER_REWARDS.put(21062, new QuestItemHolder(ANCIENT_WHITE_PAPYRUS, 290, 1));
|
||||
MONSTER_REWARDS.put(21069, new QuestItemHolder(ANCIENT_BLACK_PAPYRUS, 280, 1));
|
||||
MONSTER_REWARDS.put(20817, new ItemChanceHolder(ANCIENT_RED_PAPYRUS, 302, 1));
|
||||
MONSTER_REWARDS.put(20821, new ItemChanceHolder(ANCIENT_RED_PAPYRUS, 410, 1));
|
||||
MONSTER_REWARDS.put(HALLATES_INSPECTOR, new ItemChanceHolder(ANCIENT_RED_PAPYRUS, 447, 1));
|
||||
MONSTER_REWARDS.put(20829, new ItemChanceHolder(ANCIENT_BLUE_PAPYRUS, 451, 1));
|
||||
MONSTER_REWARDS.put(21062, new ItemChanceHolder(ANCIENT_WHITE_PAPYRUS, 290, 1));
|
||||
MONSTER_REWARDS.put(21069, new ItemChanceHolder(ANCIENT_BLACK_PAPYRUS, 280, 1));
|
||||
}
|
||||
|
||||
// Misc
|
||||
@ -445,7 +445,7 @@ public class Q00372_LegacyOfInsolence extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MONSTER_REWARDS.get(npc.getId());
|
||||
final ItemChanceHolder item = MONSTER_REWARDS.get(npc.getId());
|
||||
if (npc.getId() == HALLATES_INSPECTOR)
|
||||
{
|
||||
if (getRandom(1000) < item.getChance())
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@ -48,25 +48,25 @@ public class Alexandria extends AbstractNpcAI
|
||||
new ItemHolder(9817, 50),
|
||||
};
|
||||
// Agathions
|
||||
private static final QuestItemHolder[] LITTLE_DEVILS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_DEVILS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10321, 600, 1, 10408),
|
||||
new QuestItemHolder(10322, 10),
|
||||
new QuestItemHolder(10323, 10),
|
||||
new QuestItemHolder(10324, 5),
|
||||
new QuestItemHolder(10325, 5),
|
||||
new QuestItemHolder(10326, 370),
|
||||
new AdditionalItemChanceHolder(10321, 600, 1, 10408),
|
||||
new ItemChanceHolder(10322, 10),
|
||||
new ItemChanceHolder(10323, 10),
|
||||
new ItemChanceHolder(10324, 5),
|
||||
new ItemChanceHolder(10325, 5),
|
||||
new ItemChanceHolder(10326, 370),
|
||||
};
|
||||
private static final QuestItemHolder[] LITTLE_ANGELS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_ANGELS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10315, 600, 1, 10408),
|
||||
new QuestItemHolder(10316, 10),
|
||||
new QuestItemHolder(10317, 10),
|
||||
new QuestItemHolder(10318, 5),
|
||||
new QuestItemHolder(10319, 5),
|
||||
new QuestItemHolder(10320, 370),
|
||||
new AdditionalItemChanceHolder(10315, 600, 1, 10408),
|
||||
new ItemChanceHolder(10316, 10),
|
||||
new ItemChanceHolder(10317, 10),
|
||||
new ItemChanceHolder(10318, 5),
|
||||
new ItemChanceHolder(10319, 5),
|
||||
new ItemChanceHolder(10320, 370),
|
||||
};
|
||||
private static final Map<String, List<QuestItemHolder>> AGATHIONS = new HashMap<>();
|
||||
private static final Map<String, List<ItemChanceHolder>> AGATHIONS = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
@ -94,7 +94,7 @@ public class Alexandria extends AbstractNpcAI
|
||||
final int chance = getRandom(1000);
|
||||
int chance2 = 0;
|
||||
int chance3 = 0;
|
||||
for (QuestItemHolder agathion : AGATHIONS.get(event))
|
||||
for (ItemChanceHolder agathion : AGATHIONS.get(event))
|
||||
{
|
||||
chance3 += agathion.getChance();
|
||||
if ((chance >= chance2) && (chance2 < chance3))
|
||||
@ -103,9 +103,9 @@ public class Alexandria extends AbstractNpcAI
|
||||
{
|
||||
giveItems(player, agathion);
|
||||
htmltext = "30098-03.html";
|
||||
if (agathion instanceof AdditionalQuestItemHolder)
|
||||
if (agathion instanceof AdditionalItemChanceHolder)
|
||||
{
|
||||
giveItems(player, ((AdditionalQuestItemHolder) agathion).getAdditionalId(), 1);
|
||||
giveItems(player, ((AdditionalItemChanceHolder) agathion).getAdditionalId(), 1);
|
||||
htmltext = "30098-03a.html";
|
||||
}
|
||||
}
|
||||
@ -121,11 +121,11 @@ public class Alexandria extends AbstractNpcAI
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private static class AdditionalQuestItemHolder extends QuestItemHolder
|
||||
private static class AdditionalItemChanceHolder extends ItemChanceHolder
|
||||
{
|
||||
private final int _additionalId;
|
||||
|
||||
public AdditionalQuestItemHolder(int id, int chance, long count, int additionalId)
|
||||
public AdditionalItemChanceHolder(int id, int chance, long count, int additionalId)
|
||||
{
|
||||
super(id, chance, count);
|
||||
_additionalId = additionalId;
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@ -48,25 +48,25 @@ public class Alexandria extends AbstractNpcAI
|
||||
new ItemHolder(9817, 50),
|
||||
};
|
||||
// Agathions
|
||||
private static final QuestItemHolder[] LITTLE_DEVILS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_DEVILS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10321, 600, 1, 10408),
|
||||
new QuestItemHolder(10322, 10),
|
||||
new QuestItemHolder(10323, 10),
|
||||
new QuestItemHolder(10324, 5),
|
||||
new QuestItemHolder(10325, 5),
|
||||
new QuestItemHolder(10326, 370),
|
||||
new AdditionalItemChanceHolder(10321, 600, 1, 10408),
|
||||
new ItemChanceHolder(10322, 10),
|
||||
new ItemChanceHolder(10323, 10),
|
||||
new ItemChanceHolder(10324, 5),
|
||||
new ItemChanceHolder(10325, 5),
|
||||
new ItemChanceHolder(10326, 370),
|
||||
};
|
||||
private static final QuestItemHolder[] LITTLE_ANGELS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_ANGELS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10315, 600, 1, 10408),
|
||||
new QuestItemHolder(10316, 10),
|
||||
new QuestItemHolder(10317, 10),
|
||||
new QuestItemHolder(10318, 5),
|
||||
new QuestItemHolder(10319, 5),
|
||||
new QuestItemHolder(10320, 370),
|
||||
new AdditionalItemChanceHolder(10315, 600, 1, 10408),
|
||||
new ItemChanceHolder(10316, 10),
|
||||
new ItemChanceHolder(10317, 10),
|
||||
new ItemChanceHolder(10318, 5),
|
||||
new ItemChanceHolder(10319, 5),
|
||||
new ItemChanceHolder(10320, 370),
|
||||
};
|
||||
private static final Map<String, List<QuestItemHolder>> AGATHIONS = new HashMap<>();
|
||||
private static final Map<String, List<ItemChanceHolder>> AGATHIONS = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
@ -94,7 +94,7 @@ public class Alexandria extends AbstractNpcAI
|
||||
final int chance = getRandom(1000);
|
||||
int chance2 = 0;
|
||||
int chance3 = 0;
|
||||
for (QuestItemHolder agathion : AGATHIONS.get(event))
|
||||
for (ItemChanceHolder agathion : AGATHIONS.get(event))
|
||||
{
|
||||
chance3 += agathion.getChance();
|
||||
if ((chance >= chance2) && (chance2 < chance3))
|
||||
@ -103,9 +103,9 @@ public class Alexandria extends AbstractNpcAI
|
||||
{
|
||||
giveItems(player, agathion);
|
||||
htmltext = "30098-03.html";
|
||||
if (agathion instanceof AdditionalQuestItemHolder)
|
||||
if (agathion instanceof AdditionalItemChanceHolder)
|
||||
{
|
||||
giveItems(player, ((AdditionalQuestItemHolder) agathion).getAdditionalId(), 1);
|
||||
giveItems(player, ((AdditionalItemChanceHolder) agathion).getAdditionalId(), 1);
|
||||
htmltext = "30098-03a.html";
|
||||
}
|
||||
}
|
||||
@ -121,11 +121,11 @@ public class Alexandria extends AbstractNpcAI
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private static class AdditionalQuestItemHolder extends QuestItemHolder
|
||||
private static class AdditionalItemChanceHolder extends ItemChanceHolder
|
||||
{
|
||||
private final int _additionalId;
|
||||
|
||||
public AdditionalQuestItemHolder(int id, int chance, long count, int additionalId)
|
||||
public AdditionalItemChanceHolder(int id, int chance, long count, int additionalId)
|
||||
{
|
||||
super(id, chance, count);
|
||||
_additionalId = additionalId;
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@ -48,25 +48,25 @@ public class Alexandria extends AbstractNpcAI
|
||||
new ItemHolder(9817, 50),
|
||||
};
|
||||
// Agathions
|
||||
private static final QuestItemHolder[] LITTLE_DEVILS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_DEVILS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10321, 600, 1, 10408),
|
||||
new QuestItemHolder(10322, 10),
|
||||
new QuestItemHolder(10323, 10),
|
||||
new QuestItemHolder(10324, 5),
|
||||
new QuestItemHolder(10325, 5),
|
||||
new QuestItemHolder(10326, 370),
|
||||
new AdditionalItemChanceHolder(10321, 600, 1, 10408),
|
||||
new ItemChanceHolder(10322, 10),
|
||||
new ItemChanceHolder(10323, 10),
|
||||
new ItemChanceHolder(10324, 5),
|
||||
new ItemChanceHolder(10325, 5),
|
||||
new ItemChanceHolder(10326, 370),
|
||||
};
|
||||
private static final QuestItemHolder[] LITTLE_ANGELS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_ANGELS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10315, 600, 1, 10408),
|
||||
new QuestItemHolder(10316, 10),
|
||||
new QuestItemHolder(10317, 10),
|
||||
new QuestItemHolder(10318, 5),
|
||||
new QuestItemHolder(10319, 5),
|
||||
new QuestItemHolder(10320, 370),
|
||||
new AdditionalItemChanceHolder(10315, 600, 1, 10408),
|
||||
new ItemChanceHolder(10316, 10),
|
||||
new ItemChanceHolder(10317, 10),
|
||||
new ItemChanceHolder(10318, 5),
|
||||
new ItemChanceHolder(10319, 5),
|
||||
new ItemChanceHolder(10320, 370),
|
||||
};
|
||||
private static final Map<String, List<QuestItemHolder>> AGATHIONS = new HashMap<>();
|
||||
private static final Map<String, List<ItemChanceHolder>> AGATHIONS = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
@ -94,7 +94,7 @@ public class Alexandria extends AbstractNpcAI
|
||||
final int chance = getRandom(1000);
|
||||
int chance2 = 0;
|
||||
int chance3 = 0;
|
||||
for (QuestItemHolder agathion : AGATHIONS.get(event))
|
||||
for (ItemChanceHolder agathion : AGATHIONS.get(event))
|
||||
{
|
||||
chance3 += agathion.getChance();
|
||||
if ((chance >= chance2) && (chance2 < chance3))
|
||||
@ -103,9 +103,9 @@ public class Alexandria extends AbstractNpcAI
|
||||
{
|
||||
giveItems(player, agathion);
|
||||
htmltext = "30098-03.html";
|
||||
if (agathion instanceof AdditionalQuestItemHolder)
|
||||
if (agathion instanceof AdditionalItemChanceHolder)
|
||||
{
|
||||
giveItems(player, ((AdditionalQuestItemHolder) agathion).getAdditionalId(), 1);
|
||||
giveItems(player, ((AdditionalItemChanceHolder) agathion).getAdditionalId(), 1);
|
||||
htmltext = "30098-03a.html";
|
||||
}
|
||||
}
|
||||
@ -121,11 +121,11 @@ public class Alexandria extends AbstractNpcAI
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private static class AdditionalQuestItemHolder extends QuestItemHolder
|
||||
private static class AdditionalItemChanceHolder extends ItemChanceHolder
|
||||
{
|
||||
private final int _additionalId;
|
||||
|
||||
public AdditionalQuestItemHolder(int id, int chance, long count, int additionalId)
|
||||
public AdditionalItemChanceHolder(int id, int chance, long count, int additionalId)
|
||||
{
|
||||
super(id, chance, count);
|
||||
_additionalId = additionalId;
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@ -48,25 +48,25 @@ public class Alexandria extends AbstractNpcAI
|
||||
new ItemHolder(9817, 50),
|
||||
};
|
||||
// Agathions
|
||||
private static final QuestItemHolder[] LITTLE_DEVILS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_DEVILS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10321, 600, 1, 10408),
|
||||
new QuestItemHolder(10322, 10),
|
||||
new QuestItemHolder(10323, 10),
|
||||
new QuestItemHolder(10324, 5),
|
||||
new QuestItemHolder(10325, 5),
|
||||
new QuestItemHolder(10326, 370),
|
||||
new AdditionalItemChanceHolder(10321, 600, 1, 10408),
|
||||
new ItemChanceHolder(10322, 10),
|
||||
new ItemChanceHolder(10323, 10),
|
||||
new ItemChanceHolder(10324, 5),
|
||||
new ItemChanceHolder(10325, 5),
|
||||
new ItemChanceHolder(10326, 370),
|
||||
};
|
||||
private static final QuestItemHolder[] LITTLE_ANGELS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_ANGELS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10315, 600, 1, 10408),
|
||||
new QuestItemHolder(10316, 10),
|
||||
new QuestItemHolder(10317, 10),
|
||||
new QuestItemHolder(10318, 5),
|
||||
new QuestItemHolder(10319, 5),
|
||||
new QuestItemHolder(10320, 370),
|
||||
new AdditionalItemChanceHolder(10315, 600, 1, 10408),
|
||||
new ItemChanceHolder(10316, 10),
|
||||
new ItemChanceHolder(10317, 10),
|
||||
new ItemChanceHolder(10318, 5),
|
||||
new ItemChanceHolder(10319, 5),
|
||||
new ItemChanceHolder(10320, 370),
|
||||
};
|
||||
private static final Map<String, List<QuestItemHolder>> AGATHIONS = new HashMap<>();
|
||||
private static final Map<String, List<ItemChanceHolder>> AGATHIONS = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
@ -94,7 +94,7 @@ public class Alexandria extends AbstractNpcAI
|
||||
final int chance = getRandom(1000);
|
||||
int chance2 = 0;
|
||||
int chance3 = 0;
|
||||
for (QuestItemHolder agathion : AGATHIONS.get(event))
|
||||
for (ItemChanceHolder agathion : AGATHIONS.get(event))
|
||||
{
|
||||
chance3 += agathion.getChance();
|
||||
if ((chance >= chance2) && (chance2 < chance3))
|
||||
@ -103,9 +103,9 @@ public class Alexandria extends AbstractNpcAI
|
||||
{
|
||||
giveItems(player, agathion);
|
||||
htmltext = "30098-03.html";
|
||||
if (agathion instanceof AdditionalQuestItemHolder)
|
||||
if (agathion instanceof AdditionalItemChanceHolder)
|
||||
{
|
||||
giveItems(player, ((AdditionalQuestItemHolder) agathion).getAdditionalId(), 1);
|
||||
giveItems(player, ((AdditionalItemChanceHolder) agathion).getAdditionalId(), 1);
|
||||
htmltext = "30098-03a.html";
|
||||
}
|
||||
}
|
||||
@ -121,11 +121,11 @@ public class Alexandria extends AbstractNpcAI
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private static class AdditionalQuestItemHolder extends QuestItemHolder
|
||||
private static class AdditionalItemChanceHolder extends ItemChanceHolder
|
||||
{
|
||||
private final int _additionalId;
|
||||
|
||||
public AdditionalQuestItemHolder(int id, int chance, long count, int additionalId)
|
||||
public AdditionalItemChanceHolder(int id, int chance, long count, int additionalId)
|
||||
{
|
||||
super(id, chance, count);
|
||||
_additionalId = additionalId;
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -17,7 +17,7 @@
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -17,7 +17,7 @@
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder
|
||||
|
@ -17,7 +17,7 @@
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -17,7 +17,7 @@
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder
|
||||
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@ -48,25 +48,25 @@ public class Alexandria extends AbstractNpcAI
|
||||
new ItemHolder(9817, 50),
|
||||
};
|
||||
// Agathions
|
||||
private static final QuestItemHolder[] LITTLE_DEVILS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_DEVILS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10321, 600, 1, 10408),
|
||||
new QuestItemHolder(10322, 10),
|
||||
new QuestItemHolder(10323, 10),
|
||||
new QuestItemHolder(10324, 5),
|
||||
new QuestItemHolder(10325, 5),
|
||||
new QuestItemHolder(10326, 370),
|
||||
new AdditionalItemChanceHolder(10321, 600, 1, 10408),
|
||||
new ItemChanceHolder(10322, 10),
|
||||
new ItemChanceHolder(10323, 10),
|
||||
new ItemChanceHolder(10324, 5),
|
||||
new ItemChanceHolder(10325, 5),
|
||||
new ItemChanceHolder(10326, 370),
|
||||
};
|
||||
private static final QuestItemHolder[] LITTLE_ANGELS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_ANGELS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10315, 600, 1, 10408),
|
||||
new QuestItemHolder(10316, 10),
|
||||
new QuestItemHolder(10317, 10),
|
||||
new QuestItemHolder(10318, 5),
|
||||
new QuestItemHolder(10319, 5),
|
||||
new QuestItemHolder(10320, 370),
|
||||
new AdditionalItemChanceHolder(10315, 600, 1, 10408),
|
||||
new ItemChanceHolder(10316, 10),
|
||||
new ItemChanceHolder(10317, 10),
|
||||
new ItemChanceHolder(10318, 5),
|
||||
new ItemChanceHolder(10319, 5),
|
||||
new ItemChanceHolder(10320, 370),
|
||||
};
|
||||
private static final Map<String, List<QuestItemHolder>> AGATHIONS = new HashMap<>();
|
||||
private static final Map<String, List<ItemChanceHolder>> AGATHIONS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
AGATHIONS.put("littleAngel", Arrays.asList(LITTLE_ANGELS));
|
||||
@ -93,7 +93,7 @@ public class Alexandria extends AbstractNpcAI
|
||||
final int chance = getRandom(1000);
|
||||
int chance2 = 0;
|
||||
int chance3 = 0;
|
||||
for (QuestItemHolder agathion : AGATHIONS.get(event))
|
||||
for (ItemChanceHolder agathion : AGATHIONS.get(event))
|
||||
{
|
||||
chance3 += agathion.getChance();
|
||||
if ((chance2 <= chance) && (chance < chance3))
|
||||
@ -102,9 +102,9 @@ public class Alexandria extends AbstractNpcAI
|
||||
{
|
||||
giveItems(player, agathion);
|
||||
htmltext = "30098-03.html";
|
||||
if (agathion instanceof AdditionalQuestItemHolder)
|
||||
if (agathion instanceof AdditionalItemChanceHolder)
|
||||
{
|
||||
giveItems(player, ((AdditionalQuestItemHolder) agathion).getAdditionalId(), 1);
|
||||
giveItems(player, ((AdditionalItemChanceHolder) agathion).getAdditionalId(), 1);
|
||||
htmltext = "30098-03a.html";
|
||||
}
|
||||
}
|
||||
@ -120,11 +120,11 @@ public class Alexandria extends AbstractNpcAI
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private static class AdditionalQuestItemHolder extends QuestItemHolder
|
||||
private static class AdditionalItemChanceHolder extends ItemChanceHolder
|
||||
{
|
||||
private final int _additionalId;
|
||||
|
||||
AdditionalQuestItemHolder(int id, int chance, long count, int additionalId)
|
||||
AdditionalItemChanceHolder(int id, int chance, long count, int additionalId)
|
||||
{
|
||||
super(id, chance, count);
|
||||
_additionalId = additionalId;
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
|
||||
|
||||
/**
|
||||
@ -56,89 +56,89 @@ public class L2Day extends LongTimeEvent
|
||||
private static final int T = 3887;
|
||||
private static final int II = 3888;
|
||||
// Rewards
|
||||
private static final QuestItemHolder[] L2_REWARDS =
|
||||
private static final ItemChanceHolder[] L2_REWARDS =
|
||||
{
|
||||
new QuestItemHolder(10260, 90, 3), // Alacrity Juice
|
||||
new QuestItemHolder(10261, 85, 3), // Accuracy Juice
|
||||
new QuestItemHolder(10262, 80, 3), // Critical Hit Juice
|
||||
new QuestItemHolder(10263, 75, 3), // Critical Rate Juice
|
||||
new QuestItemHolder(10264, 70, 3), // Casting Spd. Juice
|
||||
new QuestItemHolder(10265, 65, 3), // Evasion Juice
|
||||
new QuestItemHolder(10266, 60, 3), // M. Atk. Juice
|
||||
new QuestItemHolder(10267, 55, 3), // Power Juice
|
||||
new QuestItemHolder(10268, 50, 3), // Speed Juice
|
||||
new QuestItemHolder(10269, 45, 3), // Defense Juice
|
||||
new QuestItemHolder(10270, 40, 3), // MP Consumption Juice
|
||||
new QuestItemHolder(9546, 37, 2), // Fire Stone
|
||||
new QuestItemHolder(9547, 34, 2), // Water Stone
|
||||
new QuestItemHolder(9548, 31, 2), // Earth Stone
|
||||
new QuestItemHolder(9549, 28, 2), // Wind Stone
|
||||
new QuestItemHolder(9550, 25, 2), // Dark Stone
|
||||
new QuestItemHolder(9551, 22, 2), // Holy Stone
|
||||
new QuestItemHolder(8947, 19, 1), // L2day - Rabbit Ears
|
||||
new QuestItemHolder(8948, 16, 1), // L2day - Little Angel Wings
|
||||
new QuestItemHolder(8949, 13, 1), // L2day - Fairy Antennae
|
||||
new QuestItemHolder(3959, 10, 2), // Blessed Scroll of Resurrection (Event)
|
||||
new QuestItemHolder(3958, 7, 2), // Blessed Scroll of Escape (Event)
|
||||
new QuestItemHolder(8752, 4, 2), // High-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(8762, 1, 1), // Top-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(6660, 0, 1), // Ring of Queen Ant
|
||||
new ItemChanceHolder(10260, 90, 3), // Alacrity Juice
|
||||
new ItemChanceHolder(10261, 85, 3), // Accuracy Juice
|
||||
new ItemChanceHolder(10262, 80, 3), // Critical Hit Juice
|
||||
new ItemChanceHolder(10263, 75, 3), // Critical Rate Juice
|
||||
new ItemChanceHolder(10264, 70, 3), // Casting Spd. Juice
|
||||
new ItemChanceHolder(10265, 65, 3), // Evasion Juice
|
||||
new ItemChanceHolder(10266, 60, 3), // M. Atk. Juice
|
||||
new ItemChanceHolder(10267, 55, 3), // Power Juice
|
||||
new ItemChanceHolder(10268, 50, 3), // Speed Juice
|
||||
new ItemChanceHolder(10269, 45, 3), // Defense Juice
|
||||
new ItemChanceHolder(10270, 40, 3), // MP Consumption Juice
|
||||
new ItemChanceHolder(9546, 37, 2), // Fire Stone
|
||||
new ItemChanceHolder(9547, 34, 2), // Water Stone
|
||||
new ItemChanceHolder(9548, 31, 2), // Earth Stone
|
||||
new ItemChanceHolder(9549, 28, 2), // Wind Stone
|
||||
new ItemChanceHolder(9550, 25, 2), // Dark Stone
|
||||
new ItemChanceHolder(9551, 22, 2), // Holy Stone
|
||||
new ItemChanceHolder(8947, 19, 1), // L2day - Rabbit Ears
|
||||
new ItemChanceHolder(8948, 16, 1), // L2day - Little Angel Wings
|
||||
new ItemChanceHolder(8949, 13, 1), // L2day - Fairy Antennae
|
||||
new ItemChanceHolder(3959, 10, 2), // Blessed Scroll of Resurrection (Event)
|
||||
new ItemChanceHolder(3958, 7, 2), // Blessed Scroll of Escape (Event)
|
||||
new ItemChanceHolder(8752, 4, 2), // High-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(8762, 1, 1), // Top-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(6660, 0, 1), // Ring of Queen Ant
|
||||
};
|
||||
private static final QuestItemHolder[] NC_REWARDS =
|
||||
private static final ItemChanceHolder[] NC_REWARDS =
|
||||
{
|
||||
new QuestItemHolder(10260, 90, 2), // Alacrity Juice
|
||||
new QuestItemHolder(10261, 85, 2), // Accuracy Juice
|
||||
new QuestItemHolder(10262, 80, 2), // Critical Hit Juice
|
||||
new QuestItemHolder(10263, 75, 2), // Critical Rate Juice
|
||||
new QuestItemHolder(10264, 70, 2), // Casting Spd. Juice
|
||||
new QuestItemHolder(10265, 65, 2), // Evasion Juice
|
||||
new QuestItemHolder(10266, 60, 2), // M. Atk. Juice
|
||||
new QuestItemHolder(10267, 55, 2), // Power Juice
|
||||
new QuestItemHolder(10268, 50, 2), // Speed Juice
|
||||
new QuestItemHolder(10269, 45, 2), // Defense Juice
|
||||
new QuestItemHolder(10270, 40, 2), // MP Consumption Juice
|
||||
new QuestItemHolder(9546, 37, 1), // Fire Stone
|
||||
new QuestItemHolder(9547, 34, 1), // Water Stone
|
||||
new QuestItemHolder(9548, 31, 1), // Earth Stone
|
||||
new QuestItemHolder(9549, 28, 1), // Wind Stone
|
||||
new QuestItemHolder(9550, 25, 1), // Dark Stone
|
||||
new QuestItemHolder(9551, 22, 1), // Holy Stone
|
||||
new QuestItemHolder(8948, 19, 1), // L2day - Little Angel Wings
|
||||
new QuestItemHolder(8949, 16, 1), // L2day - Fairy Antennae
|
||||
new QuestItemHolder(8950, 13, 1), // L2day - Feathered Hat
|
||||
new QuestItemHolder(3959, 10, 1), // Blessed Scroll of Resurrection (Event)
|
||||
new QuestItemHolder(3958, 7, 1), // Blessed Scroll of Escape (Event)
|
||||
new QuestItemHolder(8742, 4, 2), // Mid-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(8752, 1, 1), // High-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(6661, 0, 1), // Earring of Orfen
|
||||
new ItemChanceHolder(10260, 90, 2), // Alacrity Juice
|
||||
new ItemChanceHolder(10261, 85, 2), // Accuracy Juice
|
||||
new ItemChanceHolder(10262, 80, 2), // Critical Hit Juice
|
||||
new ItemChanceHolder(10263, 75, 2), // Critical Rate Juice
|
||||
new ItemChanceHolder(10264, 70, 2), // Casting Spd. Juice
|
||||
new ItemChanceHolder(10265, 65, 2), // Evasion Juice
|
||||
new ItemChanceHolder(10266, 60, 2), // M. Atk. Juice
|
||||
new ItemChanceHolder(10267, 55, 2), // Power Juice
|
||||
new ItemChanceHolder(10268, 50, 2), // Speed Juice
|
||||
new ItemChanceHolder(10269, 45, 2), // Defense Juice
|
||||
new ItemChanceHolder(10270, 40, 2), // MP Consumption Juice
|
||||
new ItemChanceHolder(9546, 37, 1), // Fire Stone
|
||||
new ItemChanceHolder(9547, 34, 1), // Water Stone
|
||||
new ItemChanceHolder(9548, 31, 1), // Earth Stone
|
||||
new ItemChanceHolder(9549, 28, 1), // Wind Stone
|
||||
new ItemChanceHolder(9550, 25, 1), // Dark Stone
|
||||
new ItemChanceHolder(9551, 22, 1), // Holy Stone
|
||||
new ItemChanceHolder(8948, 19, 1), // L2day - Little Angel Wings
|
||||
new ItemChanceHolder(8949, 16, 1), // L2day - Fairy Antennae
|
||||
new ItemChanceHolder(8950, 13, 1), // L2day - Feathered Hat
|
||||
new ItemChanceHolder(3959, 10, 1), // Blessed Scroll of Resurrection (Event)
|
||||
new ItemChanceHolder(3958, 7, 1), // Blessed Scroll of Escape (Event)
|
||||
new ItemChanceHolder(8742, 4, 2), // Mid-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(8752, 1, 1), // High-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(6661, 0, 1), // Earring of Orfen
|
||||
};
|
||||
private static final QuestItemHolder[] CH_REWARDS =
|
||||
private static final ItemChanceHolder[] CH_REWARDS =
|
||||
{
|
||||
new QuestItemHolder(10260, 90, 1), // Alacrity Juice
|
||||
new QuestItemHolder(10261, 85, 1), // Accuracy Juice
|
||||
new QuestItemHolder(10262, 80, 1), // Critical Hit Juice
|
||||
new QuestItemHolder(10263, 75, 1), // Critical Rate Juice
|
||||
new QuestItemHolder(10264, 70, 1), // Casting Spd. Juice
|
||||
new QuestItemHolder(10265, 65, 1), // Evasion Juice
|
||||
new QuestItemHolder(10266, 60, 1), // M. Atk. Juice
|
||||
new QuestItemHolder(10267, 55, 1), // Power Juice
|
||||
new QuestItemHolder(10268, 50, 1), // Speed Juice
|
||||
new QuestItemHolder(10269, 45, 1), // Defense Juice
|
||||
new QuestItemHolder(10270, 40, 1), // MP Consumption Juice
|
||||
new QuestItemHolder(9546, 37, 1), // Fire Stone
|
||||
new QuestItemHolder(9547, 34, 1), // Water Stone
|
||||
new QuestItemHolder(9548, 31, 1), // Earth Stone
|
||||
new QuestItemHolder(9549, 28, 1), // Wind Stone
|
||||
new QuestItemHolder(9550, 25, 1), // Dark Stone
|
||||
new QuestItemHolder(9551, 22, 1), // Holy Stone
|
||||
new QuestItemHolder(8949, 19, 1), // L2day - Fairy Antennae
|
||||
new QuestItemHolder(8950, 16, 1), // L2day - Feathered Hat
|
||||
new QuestItemHolder(8951, 13, 1), // L2day - Artisan's Goggles
|
||||
new QuestItemHolder(3959, 10, 1), // Blessed Scroll of Resurrection (Event)
|
||||
new QuestItemHolder(3958, 7, 1), // Blessed Scroll of Escape (Event)
|
||||
new QuestItemHolder(8742, 4, 1), // Mid-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(8752, 1, 1), // High-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(6662, 0, 1), // Ring of Core
|
||||
new ItemChanceHolder(10260, 90, 1), // Alacrity Juice
|
||||
new ItemChanceHolder(10261, 85, 1), // Accuracy Juice
|
||||
new ItemChanceHolder(10262, 80, 1), // Critical Hit Juice
|
||||
new ItemChanceHolder(10263, 75, 1), // Critical Rate Juice
|
||||
new ItemChanceHolder(10264, 70, 1), // Casting Spd. Juice
|
||||
new ItemChanceHolder(10265, 65, 1), // Evasion Juice
|
||||
new ItemChanceHolder(10266, 60, 1), // M. Atk. Juice
|
||||
new ItemChanceHolder(10267, 55, 1), // Power Juice
|
||||
new ItemChanceHolder(10268, 50, 1), // Speed Juice
|
||||
new ItemChanceHolder(10269, 45, 1), // Defense Juice
|
||||
new ItemChanceHolder(10270, 40, 1), // MP Consumption Juice
|
||||
new ItemChanceHolder(9546, 37, 1), // Fire Stone
|
||||
new ItemChanceHolder(9547, 34, 1), // Water Stone
|
||||
new ItemChanceHolder(9548, 31, 1), // Earth Stone
|
||||
new ItemChanceHolder(9549, 28, 1), // Wind Stone
|
||||
new ItemChanceHolder(9550, 25, 1), // Dark Stone
|
||||
new ItemChanceHolder(9551, 22, 1), // Holy Stone
|
||||
new ItemChanceHolder(8949, 19, 1), // L2day - Fairy Antennae
|
||||
new ItemChanceHolder(8950, 16, 1), // L2day - Feathered Hat
|
||||
new ItemChanceHolder(8951, 13, 1), // L2day - Artisan's Goggles
|
||||
new ItemChanceHolder(3959, 10, 1), // Blessed Scroll of Resurrection (Event)
|
||||
new ItemChanceHolder(3958, 7, 1), // Blessed Scroll of Escape (Event)
|
||||
new ItemChanceHolder(8742, 4, 1), // Mid-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(8752, 1, 1), // High-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(6662, 0, 1), // Ring of Core
|
||||
};
|
||||
|
||||
private L2Day()
|
||||
@ -166,7 +166,7 @@ public class L2Day extends LongTimeEvent
|
||||
}
|
||||
else
|
||||
{
|
||||
for (QuestItemHolder holder : L2_REWARDS)
|
||||
for (ItemChanceHolder holder : L2_REWARDS)
|
||||
{
|
||||
if (random >= holder.getChance())
|
||||
{
|
||||
@ -195,7 +195,7 @@ public class L2Day extends LongTimeEvent
|
||||
}
|
||||
else
|
||||
{
|
||||
for (QuestItemHolder holder : NC_REWARDS)
|
||||
for (ItemChanceHolder holder : NC_REWARDS)
|
||||
{
|
||||
if (random >= holder.getChance())
|
||||
{
|
||||
@ -224,7 +224,7 @@ public class L2Day extends LongTimeEvent
|
||||
}
|
||||
else
|
||||
{
|
||||
for (QuestItemHolder holder : CH_REWARDS)
|
||||
for (ItemChanceHolder holder : CH_REWARDS)
|
||||
{
|
||||
if (random >= holder.getChance())
|
||||
{
|
||||
|
@ -22,7 +22,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
@ -53,11 +53,11 @@ public class Q00235_MimirsElixir extends Quest
|
||||
// Skill
|
||||
private static SkillHolder QUEST_MIMIRS_ELIXIR = new SkillHolder(4339, 1);
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS.put(20965, new QuestItemHolder(SAGES_STONE, 4, 1)); // chimera_piece
|
||||
MOBS.put(21090, new QuestItemHolder(BLOOD_FIRE, 7, 1)); // bloody_guardian
|
||||
MOBS.put(20965, new ItemChanceHolder(SAGES_STONE, 4, 1)); // chimera_piece
|
||||
MOBS.put(21090, new ItemChanceHolder(BLOOD_FIRE, 7, 1)); // bloody_guardian
|
||||
}
|
||||
|
||||
public Q00235_MimirsElixir()
|
||||
@ -236,12 +236,12 @@ public class Q00235_MimirsElixir extends Quest
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
if (luckyPlayer != null)
|
||||
{
|
||||
final QuestItemHolder item = MOBS.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS.get(npc.getId());
|
||||
if (giveItemRandomly(luckyPlayer, npc, item.getId(), item.getCount(), item.getCount(), 1.0, true))
|
||||
{
|
||||
final QuestState qs = luckyPlayer.getQuestState(getName());
|
||||
qs.setMemoState(item.getChance());
|
||||
qs.setCond(item.getChance());
|
||||
qs.setMemoState((int) item.getChance());
|
||||
qs.setCond((int) item.getChance());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -45,18 +45,18 @@ public class Q00299_GatherIngredientsForPie extends Quest
|
||||
private static final int AVELLAN_SPICE = 7137;
|
||||
private static final int HONEY_POUCH = 7138;
|
||||
// Rewards
|
||||
private static final List<QuestItemHolder> REWARDS = new ArrayList<>(5);
|
||||
private static final List<ItemChanceHolder> REWARDS = new ArrayList<>(5);
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 34;
|
||||
static
|
||||
{
|
||||
MONSTERS_CHANCES.put(20934, 700); // Wasp Worker
|
||||
MONSTERS_CHANCES.put(20935, 770); // Wasp Leader
|
||||
REWARDS.add(new QuestItemHolder(57, 400, 2500)); // Adena
|
||||
REWARDS.add(new QuestItemHolder(1865, 550, 50)); // Varnish
|
||||
REWARDS.add(new QuestItemHolder(1870, 700, 50)); // Coal
|
||||
REWARDS.add(new QuestItemHolder(1869, 850, 50)); // Iron Ore
|
||||
REWARDS.add(new QuestItemHolder(1871, 1000, 50)); // Charcoal
|
||||
REWARDS.add(new ItemChanceHolder(57, 400, 2500)); // Adena
|
||||
REWARDS.add(new ItemChanceHolder(1865, 550, 50)); // Varnish
|
||||
REWARDS.add(new ItemChanceHolder(1870, 700, 50)); // Coal
|
||||
REWARDS.add(new ItemChanceHolder(1869, 850, 50)); // Iron Ore
|
||||
REWARDS.add(new ItemChanceHolder(1871, 1000, 50)); // Charcoal
|
||||
}
|
||||
|
||||
public Q00299_GatherIngredientsForPie()
|
||||
@ -142,7 +142,7 @@ public class Q00299_GatherIngredientsForPie extends Quest
|
||||
{
|
||||
takeItems(player, FRUIT_BASKET, -1);
|
||||
final int chance = getRandom(1000);
|
||||
for (QuestItemHolder holder : REWARDS)
|
||||
for (ItemChanceHolder holder : REWARDS)
|
||||
{
|
||||
if (holder.getChance() > chance)
|
||||
{
|
||||
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -54,19 +54,19 @@ public class Q00325_GrimCollector extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 15;
|
||||
// Monsters
|
||||
private static final Map<Integer, List<QuestItemHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
private static final Map<Integer, List<ItemChanceHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69)));
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 50), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 52), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 15), new ItemChanceHolder(SPINE, 29), new ItemChanceHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 19), new ItemChanceHolder(ARM_BONE, 69), new ItemChanceHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(SPINE, 59), new ItemChanceHolder(ARM_BONE, 77), new ItemChanceHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(RIB_BONE, 59), new ItemChanceHolder(SPINE, 79), new ItemChanceHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 60), new ItemChanceHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 70), new ItemChanceHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 21), new ItemChanceHolder(SPINE, 30), new ItemChanceHolder(ARM_BONE, 31), new ItemChanceHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 20), new ItemChanceHolder(SPINE, 31), new ItemChanceHolder(ARM_BONE, 33), new ItemChanceHolder(THIGH_BONE, 69)));
|
||||
}
|
||||
|
||||
public Q00325_GrimCollector()
|
||||
@ -198,7 +198,7 @@ public class Q00325_GrimCollector extends Quest
|
||||
}
|
||||
|
||||
final int rnd = getRandom(100);
|
||||
for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
for (ItemChanceHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
{
|
||||
if (rnd < drop.getChance())
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
@ -39,15 +39,15 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
MOBS_DROP_CHANCES.put(20609, new ItemChanceHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new ItemChanceHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new ItemChanceHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new ItemChanceHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new ItemChanceHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new ItemChanceHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
}
|
||||
|
||||
public Q00369_CollectorOfJewels()
|
||||
@ -113,7 +113,7 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (getRandom(100) < item.getChance())
|
||||
{
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
|
@ -23,7 +23,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.util.Util;
|
||||
@ -102,15 +102,15 @@ public class Q00372_LegacyOfInsolence extends Quest
|
||||
private static final int SEALED_MAJESTIC_CIRCLET_DESIGN = 5528;
|
||||
// Monsters
|
||||
private static final int HALLATES_INSPECTOR = 20825;
|
||||
private static final Map<Integer, QuestItemHolder> MONSTER_REWARDS = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MONSTER_REWARDS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_REWARDS.put(20817, new QuestItemHolder(ANCIENT_RED_PAPYRUS, 302, 1));
|
||||
MONSTER_REWARDS.put(20821, new QuestItemHolder(ANCIENT_RED_PAPYRUS, 410, 1));
|
||||
MONSTER_REWARDS.put(HALLATES_INSPECTOR, new QuestItemHolder(ANCIENT_RED_PAPYRUS, 447, 1));
|
||||
MONSTER_REWARDS.put(20829, new QuestItemHolder(ANCIENT_BLUE_PAPYRUS, 451, 1));
|
||||
MONSTER_REWARDS.put(21062, new QuestItemHolder(ANCIENT_WHITE_PAPYRUS, 290, 1));
|
||||
MONSTER_REWARDS.put(21069, new QuestItemHolder(ANCIENT_BLACK_PAPYRUS, 280, 1));
|
||||
MONSTER_REWARDS.put(20817, new ItemChanceHolder(ANCIENT_RED_PAPYRUS, 302, 1));
|
||||
MONSTER_REWARDS.put(20821, new ItemChanceHolder(ANCIENT_RED_PAPYRUS, 410, 1));
|
||||
MONSTER_REWARDS.put(HALLATES_INSPECTOR, new ItemChanceHolder(ANCIENT_RED_PAPYRUS, 447, 1));
|
||||
MONSTER_REWARDS.put(20829, new ItemChanceHolder(ANCIENT_BLUE_PAPYRUS, 451, 1));
|
||||
MONSTER_REWARDS.put(21062, new ItemChanceHolder(ANCIENT_WHITE_PAPYRUS, 290, 1));
|
||||
MONSTER_REWARDS.put(21069, new ItemChanceHolder(ANCIENT_BLACK_PAPYRUS, 280, 1));
|
||||
}
|
||||
|
||||
// Misc
|
||||
@ -446,7 +446,7 @@ public class Q00372_LegacyOfInsolence extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MONSTER_REWARDS.get(npc.getId());
|
||||
final ItemChanceHolder item = MONSTER_REWARDS.get(npc.getId());
|
||||
if (npc.getId() == HALLATES_INSPECTOR)
|
||||
{
|
||||
if (getRandom(1000) < item.getChance())
|
||||
|
@ -17,8 +17,7 @@
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -19,8 +19,7 @@ package org.l2jmobius.gameserver.model.holders;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@ -48,25 +48,25 @@ public class Alexandria extends AbstractNpcAI
|
||||
new ItemHolder(9817, 5),
|
||||
};
|
||||
// Agathions
|
||||
private static final QuestItemHolder[] LITTLE_DEVILS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_DEVILS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10321, 600, 1, 10408),
|
||||
new QuestItemHolder(10322, 10),
|
||||
new QuestItemHolder(10323, 10),
|
||||
new QuestItemHolder(10324, 5),
|
||||
new QuestItemHolder(10325, 5),
|
||||
new QuestItemHolder(10326, 370),
|
||||
new AdditionalItemChanceHolder(10321, 600, 1, 10408),
|
||||
new ItemChanceHolder(10322, 10),
|
||||
new ItemChanceHolder(10323, 10),
|
||||
new ItemChanceHolder(10324, 5),
|
||||
new ItemChanceHolder(10325, 5),
|
||||
new ItemChanceHolder(10326, 370),
|
||||
};
|
||||
private static final QuestItemHolder[] LITTLE_ANGELS = new QuestItemHolder[]
|
||||
private static final ItemChanceHolder[] LITTLE_ANGELS = new ItemChanceHolder[]
|
||||
{
|
||||
new AdditionalQuestItemHolder(10315, 600, 1, 10408),
|
||||
new QuestItemHolder(10316, 10),
|
||||
new QuestItemHolder(10317, 10),
|
||||
new QuestItemHolder(10318, 5),
|
||||
new QuestItemHolder(10319, 5),
|
||||
new QuestItemHolder(10320, 370),
|
||||
new AdditionalItemChanceHolder(10315, 600, 1, 10408),
|
||||
new ItemChanceHolder(10316, 10),
|
||||
new ItemChanceHolder(10317, 10),
|
||||
new ItemChanceHolder(10318, 5),
|
||||
new ItemChanceHolder(10319, 5),
|
||||
new ItemChanceHolder(10320, 370),
|
||||
};
|
||||
private static final Map<String, List<QuestItemHolder>> AGATHIONS = new HashMap<>();
|
||||
private static final Map<String, List<ItemChanceHolder>> AGATHIONS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
AGATHIONS.put("littleAngel", Arrays.asList(LITTLE_ANGELS));
|
||||
@ -93,7 +93,7 @@ public class Alexandria extends AbstractNpcAI
|
||||
final int chance = getRandom(1000);
|
||||
int chance2 = 0;
|
||||
int chance3 = 0;
|
||||
for (QuestItemHolder agathion : AGATHIONS.get(event))
|
||||
for (ItemChanceHolder agathion : AGATHIONS.get(event))
|
||||
{
|
||||
chance3 += agathion.getChance();
|
||||
if ((chance2 <= chance) && (chance < chance3))
|
||||
@ -102,9 +102,9 @@ public class Alexandria extends AbstractNpcAI
|
||||
{
|
||||
giveItems(player, agathion);
|
||||
htmltext = "30098-03.html";
|
||||
if (agathion instanceof AdditionalQuestItemHolder)
|
||||
if (agathion instanceof AdditionalItemChanceHolder)
|
||||
{
|
||||
giveItems(player, ((AdditionalQuestItemHolder) agathion).getAdditionalId(), 1);
|
||||
giveItems(player, ((AdditionalItemChanceHolder) agathion).getAdditionalId(), 1);
|
||||
htmltext = "30098-03a.html";
|
||||
}
|
||||
}
|
||||
@ -120,11 +120,11 @@ public class Alexandria extends AbstractNpcAI
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private static class AdditionalQuestItemHolder extends QuestItemHolder
|
||||
private static class AdditionalItemChanceHolder extends ItemChanceHolder
|
||||
{
|
||||
private final int _additionalId;
|
||||
|
||||
AdditionalQuestItemHolder(int id, int chance, long count, int additionalId)
|
||||
AdditionalItemChanceHolder(int id, int chance, long count, int additionalId)
|
||||
{
|
||||
super(id, chance, count);
|
||||
_additionalId = additionalId;
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
|
||||
|
||||
/**
|
||||
@ -56,89 +56,89 @@ public class L2Day extends LongTimeEvent
|
||||
private static final int T = 3887;
|
||||
private static final int II = 3888;
|
||||
// Rewards
|
||||
private static final QuestItemHolder[] L2_REWARDS =
|
||||
private static final ItemChanceHolder[] L2_REWARDS =
|
||||
{
|
||||
new QuestItemHolder(10260, 90, 3), // Alacrity Juice
|
||||
new QuestItemHolder(10261, 85, 3), // Accuracy Juice
|
||||
new QuestItemHolder(10262, 80, 3), // Critical Hit Juice
|
||||
new QuestItemHolder(10263, 75, 3), // Critical Rate Juice
|
||||
new QuestItemHolder(10264, 70, 3), // Casting Spd. Juice
|
||||
new QuestItemHolder(10265, 65, 3), // Evasion Juice
|
||||
new QuestItemHolder(10266, 60, 3), // M. Atk. Juice
|
||||
new QuestItemHolder(10267, 55, 3), // Power Juice
|
||||
new QuestItemHolder(10268, 50, 3), // Speed Juice
|
||||
new QuestItemHolder(10269, 45, 3), // Defense Juice
|
||||
new QuestItemHolder(10270, 40, 3), // MP Consumption Juice
|
||||
new QuestItemHolder(9546, 37, 2), // Fire Stone
|
||||
new QuestItemHolder(9547, 34, 2), // Water Stone
|
||||
new QuestItemHolder(9548, 31, 2), // Earth Stone
|
||||
new QuestItemHolder(9549, 28, 2), // Wind Stone
|
||||
new QuestItemHolder(9550, 25, 2), // Dark Stone
|
||||
new QuestItemHolder(9551, 22, 2), // Holy Stone
|
||||
new QuestItemHolder(8947, 19, 1), // L2day - Rabbit Ears
|
||||
new QuestItemHolder(8948, 16, 1), // L2day - Little Angel Wings
|
||||
new QuestItemHolder(8949, 13, 1), // L2day - Fairy Antennae
|
||||
new QuestItemHolder(3959, 10, 2), // Blessed Scroll of Resurrection (Event)
|
||||
new QuestItemHolder(3958, 7, 2), // Blessed Scroll of Escape (Event)
|
||||
new QuestItemHolder(8752, 4, 2), // High-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(8762, 1, 1), // Top-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(6660, 0, 1), // Ring of Queen Ant
|
||||
new ItemChanceHolder(10260, 90, 3), // Alacrity Juice
|
||||
new ItemChanceHolder(10261, 85, 3), // Accuracy Juice
|
||||
new ItemChanceHolder(10262, 80, 3), // Critical Hit Juice
|
||||
new ItemChanceHolder(10263, 75, 3), // Critical Rate Juice
|
||||
new ItemChanceHolder(10264, 70, 3), // Casting Spd. Juice
|
||||
new ItemChanceHolder(10265, 65, 3), // Evasion Juice
|
||||
new ItemChanceHolder(10266, 60, 3), // M. Atk. Juice
|
||||
new ItemChanceHolder(10267, 55, 3), // Power Juice
|
||||
new ItemChanceHolder(10268, 50, 3), // Speed Juice
|
||||
new ItemChanceHolder(10269, 45, 3), // Defense Juice
|
||||
new ItemChanceHolder(10270, 40, 3), // MP Consumption Juice
|
||||
new ItemChanceHolder(9546, 37, 2), // Fire Stone
|
||||
new ItemChanceHolder(9547, 34, 2), // Water Stone
|
||||
new ItemChanceHolder(9548, 31, 2), // Earth Stone
|
||||
new ItemChanceHolder(9549, 28, 2), // Wind Stone
|
||||
new ItemChanceHolder(9550, 25, 2), // Dark Stone
|
||||
new ItemChanceHolder(9551, 22, 2), // Holy Stone
|
||||
new ItemChanceHolder(8947, 19, 1), // L2day - Rabbit Ears
|
||||
new ItemChanceHolder(8948, 16, 1), // L2day - Little Angel Wings
|
||||
new ItemChanceHolder(8949, 13, 1), // L2day - Fairy Antennae
|
||||
new ItemChanceHolder(3959, 10, 2), // Blessed Scroll of Resurrection (Event)
|
||||
new ItemChanceHolder(3958, 7, 2), // Blessed Scroll of Escape (Event)
|
||||
new ItemChanceHolder(8752, 4, 2), // High-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(8762, 1, 1), // Top-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(6660, 0, 1), // Ring of Queen Ant
|
||||
};
|
||||
private static final QuestItemHolder[] NC_REWARDS =
|
||||
private static final ItemChanceHolder[] NC_REWARDS =
|
||||
{
|
||||
new QuestItemHolder(10260, 90, 2), // Alacrity Juice
|
||||
new QuestItemHolder(10261, 85, 2), // Accuracy Juice
|
||||
new QuestItemHolder(10262, 80, 2), // Critical Hit Juice
|
||||
new QuestItemHolder(10263, 75, 2), // Critical Rate Juice
|
||||
new QuestItemHolder(10264, 70, 2), // Casting Spd. Juice
|
||||
new QuestItemHolder(10265, 65, 2), // Evasion Juice
|
||||
new QuestItemHolder(10266, 60, 2), // M. Atk. Juice
|
||||
new QuestItemHolder(10267, 55, 2), // Power Juice
|
||||
new QuestItemHolder(10268, 50, 2), // Speed Juice
|
||||
new QuestItemHolder(10269, 45, 2), // Defense Juice
|
||||
new QuestItemHolder(10270, 40, 2), // MP Consumption Juice
|
||||
new QuestItemHolder(9546, 37, 1), // Fire Stone
|
||||
new QuestItemHolder(9547, 34, 1), // Water Stone
|
||||
new QuestItemHolder(9548, 31, 1), // Earth Stone
|
||||
new QuestItemHolder(9549, 28, 1), // Wind Stone
|
||||
new QuestItemHolder(9550, 25, 1), // Dark Stone
|
||||
new QuestItemHolder(9551, 22, 1), // Holy Stone
|
||||
new QuestItemHolder(8948, 19, 1), // L2day - Little Angel Wings
|
||||
new QuestItemHolder(8949, 16, 1), // L2day - Fairy Antennae
|
||||
new QuestItemHolder(8950, 13, 1), // L2day - Feathered Hat
|
||||
new QuestItemHolder(3959, 10, 1), // Blessed Scroll of Resurrection (Event)
|
||||
new QuestItemHolder(3958, 7, 1), // Blessed Scroll of Escape (Event)
|
||||
new QuestItemHolder(8742, 4, 2), // Mid-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(8752, 1, 1), // High-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(6661, 0, 1), // Earring of Orfen
|
||||
new ItemChanceHolder(10260, 90, 2), // Alacrity Juice
|
||||
new ItemChanceHolder(10261, 85, 2), // Accuracy Juice
|
||||
new ItemChanceHolder(10262, 80, 2), // Critical Hit Juice
|
||||
new ItemChanceHolder(10263, 75, 2), // Critical Rate Juice
|
||||
new ItemChanceHolder(10264, 70, 2), // Casting Spd. Juice
|
||||
new ItemChanceHolder(10265, 65, 2), // Evasion Juice
|
||||
new ItemChanceHolder(10266, 60, 2), // M. Atk. Juice
|
||||
new ItemChanceHolder(10267, 55, 2), // Power Juice
|
||||
new ItemChanceHolder(10268, 50, 2), // Speed Juice
|
||||
new ItemChanceHolder(10269, 45, 2), // Defense Juice
|
||||
new ItemChanceHolder(10270, 40, 2), // MP Consumption Juice
|
||||
new ItemChanceHolder(9546, 37, 1), // Fire Stone
|
||||
new ItemChanceHolder(9547, 34, 1), // Water Stone
|
||||
new ItemChanceHolder(9548, 31, 1), // Earth Stone
|
||||
new ItemChanceHolder(9549, 28, 1), // Wind Stone
|
||||
new ItemChanceHolder(9550, 25, 1), // Dark Stone
|
||||
new ItemChanceHolder(9551, 22, 1), // Holy Stone
|
||||
new ItemChanceHolder(8948, 19, 1), // L2day - Little Angel Wings
|
||||
new ItemChanceHolder(8949, 16, 1), // L2day - Fairy Antennae
|
||||
new ItemChanceHolder(8950, 13, 1), // L2day - Feathered Hat
|
||||
new ItemChanceHolder(3959, 10, 1), // Blessed Scroll of Resurrection (Event)
|
||||
new ItemChanceHolder(3958, 7, 1), // Blessed Scroll of Escape (Event)
|
||||
new ItemChanceHolder(8742, 4, 2), // Mid-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(8752, 1, 1), // High-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(6661, 0, 1), // Earring of Orfen
|
||||
};
|
||||
private static final QuestItemHolder[] CH_REWARDS =
|
||||
private static final ItemChanceHolder[] CH_REWARDS =
|
||||
{
|
||||
new QuestItemHolder(10260, 90, 1), // Alacrity Juice
|
||||
new QuestItemHolder(10261, 85, 1), // Accuracy Juice
|
||||
new QuestItemHolder(10262, 80, 1), // Critical Hit Juice
|
||||
new QuestItemHolder(10263, 75, 1), // Critical Rate Juice
|
||||
new QuestItemHolder(10264, 70, 1), // Casting Spd. Juice
|
||||
new QuestItemHolder(10265, 65, 1), // Evasion Juice
|
||||
new QuestItemHolder(10266, 60, 1), // M. Atk. Juice
|
||||
new QuestItemHolder(10267, 55, 1), // Power Juice
|
||||
new QuestItemHolder(10268, 50, 1), // Speed Juice
|
||||
new QuestItemHolder(10269, 45, 1), // Defense Juice
|
||||
new QuestItemHolder(10270, 40, 1), // MP Consumption Juice
|
||||
new QuestItemHolder(9546, 37, 1), // Fire Stone
|
||||
new QuestItemHolder(9547, 34, 1), // Water Stone
|
||||
new QuestItemHolder(9548, 31, 1), // Earth Stone
|
||||
new QuestItemHolder(9549, 28, 1), // Wind Stone
|
||||
new QuestItemHolder(9550, 25, 1), // Dark Stone
|
||||
new QuestItemHolder(9551, 22, 1), // Holy Stone
|
||||
new QuestItemHolder(8949, 19, 1), // L2day - Fairy Antennae
|
||||
new QuestItemHolder(8950, 16, 1), // L2day - Feathered Hat
|
||||
new QuestItemHolder(8951, 13, 1), // L2day - Artisan's Goggles
|
||||
new QuestItemHolder(3959, 10, 1), // Blessed Scroll of Resurrection (Event)
|
||||
new QuestItemHolder(3958, 7, 1), // Blessed Scroll of Escape (Event)
|
||||
new QuestItemHolder(8742, 4, 1), // Mid-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(8752, 1, 1), // High-Grade Life Stone - Level 76
|
||||
new QuestItemHolder(6662, 0, 1), // Ring of Core
|
||||
new ItemChanceHolder(10260, 90, 1), // Alacrity Juice
|
||||
new ItemChanceHolder(10261, 85, 1), // Accuracy Juice
|
||||
new ItemChanceHolder(10262, 80, 1), // Critical Hit Juice
|
||||
new ItemChanceHolder(10263, 75, 1), // Critical Rate Juice
|
||||
new ItemChanceHolder(10264, 70, 1), // Casting Spd. Juice
|
||||
new ItemChanceHolder(10265, 65, 1), // Evasion Juice
|
||||
new ItemChanceHolder(10266, 60, 1), // M. Atk. Juice
|
||||
new ItemChanceHolder(10267, 55, 1), // Power Juice
|
||||
new ItemChanceHolder(10268, 50, 1), // Speed Juice
|
||||
new ItemChanceHolder(10269, 45, 1), // Defense Juice
|
||||
new ItemChanceHolder(10270, 40, 1), // MP Consumption Juice
|
||||
new ItemChanceHolder(9546, 37, 1), // Fire Stone
|
||||
new ItemChanceHolder(9547, 34, 1), // Water Stone
|
||||
new ItemChanceHolder(9548, 31, 1), // Earth Stone
|
||||
new ItemChanceHolder(9549, 28, 1), // Wind Stone
|
||||
new ItemChanceHolder(9550, 25, 1), // Dark Stone
|
||||
new ItemChanceHolder(9551, 22, 1), // Holy Stone
|
||||
new ItemChanceHolder(8949, 19, 1), // L2day - Fairy Antennae
|
||||
new ItemChanceHolder(8950, 16, 1), // L2day - Feathered Hat
|
||||
new ItemChanceHolder(8951, 13, 1), // L2day - Artisan's Goggles
|
||||
new ItemChanceHolder(3959, 10, 1), // Blessed Scroll of Resurrection (Event)
|
||||
new ItemChanceHolder(3958, 7, 1), // Blessed Scroll of Escape (Event)
|
||||
new ItemChanceHolder(8742, 4, 1), // Mid-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(8752, 1, 1), // High-Grade Life Stone - Level 76
|
||||
new ItemChanceHolder(6662, 0, 1), // Ring of Core
|
||||
};
|
||||
|
||||
private L2Day()
|
||||
@ -166,7 +166,7 @@ public class L2Day extends LongTimeEvent
|
||||
}
|
||||
else
|
||||
{
|
||||
for (QuestItemHolder holder : L2_REWARDS)
|
||||
for (ItemChanceHolder holder : L2_REWARDS)
|
||||
{
|
||||
if (random >= holder.getChance())
|
||||
{
|
||||
@ -195,7 +195,7 @@ public class L2Day extends LongTimeEvent
|
||||
}
|
||||
else
|
||||
{
|
||||
for (QuestItemHolder holder : NC_REWARDS)
|
||||
for (ItemChanceHolder holder : NC_REWARDS)
|
||||
{
|
||||
if (random >= holder.getChance())
|
||||
{
|
||||
@ -224,7 +224,7 @@ public class L2Day extends LongTimeEvent
|
||||
}
|
||||
else
|
||||
{
|
||||
for (QuestItemHolder holder : CH_REWARDS)
|
||||
for (ItemChanceHolder holder : CH_REWARDS)
|
||||
{
|
||||
if (random >= holder.getChance())
|
||||
{
|
||||
|
@ -22,7 +22,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
@ -53,11 +53,11 @@ public class Q00235_MimirsElixir extends Quest
|
||||
// Skill
|
||||
private static SkillHolder QUEST_MIMIRS_ELIXIR = new SkillHolder(4339, 1);
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS.put(20965, new QuestItemHolder(SAGES_STONE, 4, 1)); // chimera_piece
|
||||
MOBS.put(21090, new QuestItemHolder(BLOOD_FIRE, 7, 1)); // bloody_guardian
|
||||
MOBS.put(20965, new ItemChanceHolder(SAGES_STONE, 4, 1)); // chimera_piece
|
||||
MOBS.put(21090, new ItemChanceHolder(BLOOD_FIRE, 7, 1)); // bloody_guardian
|
||||
}
|
||||
|
||||
public Q00235_MimirsElixir()
|
||||
@ -236,12 +236,12 @@ public class Q00235_MimirsElixir extends Quest
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
if (luckyPlayer != null)
|
||||
{
|
||||
final QuestItemHolder item = MOBS.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS.get(npc.getId());
|
||||
if (giveItemRandomly(luckyPlayer, npc, item.getId(), item.getCount(), item.getCount(), 1.0, true))
|
||||
{
|
||||
final QuestState qs = luckyPlayer.getQuestState(getName());
|
||||
qs.setMemoState(item.getChance());
|
||||
qs.setCond(item.getChance());
|
||||
qs.setMemoState((int) item.getChance());
|
||||
qs.setCond((int) item.getChance());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -45,18 +45,18 @@ public class Q00299_GatherIngredientsForPie extends Quest
|
||||
private static final int AVELLAN_SPICE = 7137;
|
||||
private static final int HONEY_POUCH = 7138;
|
||||
// Rewards
|
||||
private static final List<QuestItemHolder> REWARDS = new ArrayList<>(5);
|
||||
private static final List<ItemChanceHolder> REWARDS = new ArrayList<>(5);
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 34;
|
||||
static
|
||||
{
|
||||
MONSTERS_CHANCES.put(20934, 700); // Wasp Worker
|
||||
MONSTERS_CHANCES.put(20935, 770); // Wasp Leader
|
||||
REWARDS.add(new QuestItemHolder(57, 400, 2500)); // Adena
|
||||
REWARDS.add(new QuestItemHolder(1865, 550, 50)); // Varnish
|
||||
REWARDS.add(new QuestItemHolder(1870, 700, 50)); // Coal
|
||||
REWARDS.add(new QuestItemHolder(1869, 850, 50)); // Iron Ore
|
||||
REWARDS.add(new QuestItemHolder(1871, 1000, 50)); // Charcoal
|
||||
REWARDS.add(new ItemChanceHolder(57, 400, 2500)); // Adena
|
||||
REWARDS.add(new ItemChanceHolder(1865, 550, 50)); // Varnish
|
||||
REWARDS.add(new ItemChanceHolder(1870, 700, 50)); // Coal
|
||||
REWARDS.add(new ItemChanceHolder(1869, 850, 50)); // Iron Ore
|
||||
REWARDS.add(new ItemChanceHolder(1871, 1000, 50)); // Charcoal
|
||||
}
|
||||
|
||||
public Q00299_GatherIngredientsForPie()
|
||||
@ -142,7 +142,7 @@ public class Q00299_GatherIngredientsForPie extends Quest
|
||||
{
|
||||
takeItems(player, FRUIT_BASKET, -1);
|
||||
final int chance = getRandom(1000);
|
||||
for (QuestItemHolder holder : REWARDS)
|
||||
for (ItemChanceHolder holder : REWARDS)
|
||||
{
|
||||
if (holder.getChance() > chance)
|
||||
{
|
||||
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -54,19 +54,19 @@ public class Q00325_GrimCollector extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 15;
|
||||
// Monsters
|
||||
private static final Map<Integer, List<QuestItemHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
private static final Map<Integer, List<ItemChanceHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69)));
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 50), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 52), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 15), new ItemChanceHolder(SPINE, 29), new ItemChanceHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 19), new ItemChanceHolder(ARM_BONE, 69), new ItemChanceHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(SPINE, 59), new ItemChanceHolder(ARM_BONE, 77), new ItemChanceHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(RIB_BONE, 59), new ItemChanceHolder(SPINE, 79), new ItemChanceHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 60), new ItemChanceHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 70), new ItemChanceHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 21), new ItemChanceHolder(SPINE, 30), new ItemChanceHolder(ARM_BONE, 31), new ItemChanceHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 20), new ItemChanceHolder(SPINE, 31), new ItemChanceHolder(ARM_BONE, 33), new ItemChanceHolder(THIGH_BONE, 69)));
|
||||
}
|
||||
|
||||
public Q00325_GrimCollector()
|
||||
@ -198,7 +198,7 @@ public class Q00325_GrimCollector extends Quest
|
||||
}
|
||||
|
||||
final int rnd = getRandom(100);
|
||||
for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
for (ItemChanceHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
{
|
||||
if (rnd < drop.getChance())
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
@ -39,15 +39,15 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
MOBS_DROP_CHANCES.put(20609, new ItemChanceHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new ItemChanceHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new ItemChanceHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new ItemChanceHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new ItemChanceHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new ItemChanceHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
}
|
||||
|
||||
public Q00369_CollectorOfJewels()
|
||||
@ -113,7 +113,7 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (getRandom(100) < item.getChance())
|
||||
{
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
|
@ -23,7 +23,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.util.Util;
|
||||
@ -102,15 +102,15 @@ public class Q00372_LegacyOfInsolence extends Quest
|
||||
private static final int SEALED_MAJESTIC_CIRCLET_DESIGN = 5528;
|
||||
// Monsters
|
||||
private static final int HALLATES_INSPECTOR = 20825;
|
||||
private static final Map<Integer, QuestItemHolder> MONSTER_REWARDS = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MONSTER_REWARDS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_REWARDS.put(20817, new QuestItemHolder(ANCIENT_RED_PAPYRUS, 302, 1));
|
||||
MONSTER_REWARDS.put(20821, new QuestItemHolder(ANCIENT_RED_PAPYRUS, 410, 1));
|
||||
MONSTER_REWARDS.put(HALLATES_INSPECTOR, new QuestItemHolder(ANCIENT_RED_PAPYRUS, 447, 1));
|
||||
MONSTER_REWARDS.put(20829, new QuestItemHolder(ANCIENT_BLUE_PAPYRUS, 451, 1));
|
||||
MONSTER_REWARDS.put(21062, new QuestItemHolder(ANCIENT_WHITE_PAPYRUS, 290, 1));
|
||||
MONSTER_REWARDS.put(21069, new QuestItemHolder(ANCIENT_BLACK_PAPYRUS, 280, 1));
|
||||
MONSTER_REWARDS.put(20817, new ItemChanceHolder(ANCIENT_RED_PAPYRUS, 302, 1));
|
||||
MONSTER_REWARDS.put(20821, new ItemChanceHolder(ANCIENT_RED_PAPYRUS, 410, 1));
|
||||
MONSTER_REWARDS.put(HALLATES_INSPECTOR, new ItemChanceHolder(ANCIENT_RED_PAPYRUS, 447, 1));
|
||||
MONSTER_REWARDS.put(20829, new ItemChanceHolder(ANCIENT_BLUE_PAPYRUS, 451, 1));
|
||||
MONSTER_REWARDS.put(21062, new ItemChanceHolder(ANCIENT_WHITE_PAPYRUS, 290, 1));
|
||||
MONSTER_REWARDS.put(21069, new ItemChanceHolder(ANCIENT_BLACK_PAPYRUS, 280, 1));
|
||||
}
|
||||
|
||||
// Misc
|
||||
@ -446,7 +446,7 @@ public class Q00372_LegacyOfInsolence extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MONSTER_REWARDS.get(npc.getId());
|
||||
final ItemChanceHolder item = MONSTER_REWARDS.get(npc.getId());
|
||||
if (npc.getId() == HALLATES_INSPECTOR)
|
||||
{
|
||||
if (getRandom(1000) < item.getChance())
|
||||
|
@ -17,8 +17,7 @@
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -19,8 +19,7 @@ package org.l2jmobius.gameserver.model.holders;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -54,19 +54,19 @@ public class Q00325_GrimCollector extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 15;
|
||||
// Monsters
|
||||
private static final Map<Integer, List<QuestItemHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
private static final Map<Integer, List<ItemChanceHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69)));
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 50), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 52), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 15), new ItemChanceHolder(SPINE, 29), new ItemChanceHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 19), new ItemChanceHolder(ARM_BONE, 69), new ItemChanceHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(SPINE, 59), new ItemChanceHolder(ARM_BONE, 77), new ItemChanceHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(RIB_BONE, 59), new ItemChanceHolder(SPINE, 79), new ItemChanceHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 60), new ItemChanceHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 70), new ItemChanceHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 21), new ItemChanceHolder(SPINE, 30), new ItemChanceHolder(ARM_BONE, 31), new ItemChanceHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 20), new ItemChanceHolder(SPINE, 31), new ItemChanceHolder(ARM_BONE, 33), new ItemChanceHolder(THIGH_BONE, 69)));
|
||||
}
|
||||
|
||||
public Q00325_GrimCollector()
|
||||
@ -201,7 +201,7 @@ public class Q00325_GrimCollector extends Quest
|
||||
}
|
||||
|
||||
final int rnd = getRandom(100);
|
||||
for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
for (ItemChanceHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
{
|
||||
if (rnd < drop.getChance())
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
@ -39,15 +39,15 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
MOBS_DROP_CHANCES.put(20609, new ItemChanceHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new ItemChanceHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new ItemChanceHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new ItemChanceHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new ItemChanceHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new ItemChanceHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
}
|
||||
|
||||
public Q00369_CollectorOfJewels()
|
||||
@ -113,7 +113,7 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (getRandom(100) < item.getChance())
|
||||
{
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -54,19 +54,19 @@ public class Q00325_GrimCollector extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 15;
|
||||
// Monsters
|
||||
private static final Map<Integer, List<QuestItemHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
private static final Map<Integer, List<ItemChanceHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69)));
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 50), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 52), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 15), new ItemChanceHolder(SPINE, 29), new ItemChanceHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 19), new ItemChanceHolder(ARM_BONE, 69), new ItemChanceHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(SPINE, 59), new ItemChanceHolder(ARM_BONE, 77), new ItemChanceHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(RIB_BONE, 59), new ItemChanceHolder(SPINE, 79), new ItemChanceHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 60), new ItemChanceHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 70), new ItemChanceHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 21), new ItemChanceHolder(SPINE, 30), new ItemChanceHolder(ARM_BONE, 31), new ItemChanceHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 20), new ItemChanceHolder(SPINE, 31), new ItemChanceHolder(ARM_BONE, 33), new ItemChanceHolder(THIGH_BONE, 69)));
|
||||
}
|
||||
|
||||
public Q00325_GrimCollector()
|
||||
@ -201,7 +201,7 @@ public class Q00325_GrimCollector extends Quest
|
||||
}
|
||||
|
||||
final int rnd = getRandom(100);
|
||||
for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
for (ItemChanceHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
{
|
||||
if (rnd < drop.getChance())
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
@ -39,15 +39,15 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
MOBS_DROP_CHANCES.put(20609, new ItemChanceHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new ItemChanceHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new ItemChanceHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new ItemChanceHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new ItemChanceHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new ItemChanceHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
}
|
||||
|
||||
public Q00369_CollectorOfJewels()
|
||||
@ -113,7 +113,7 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (getRandom(100) < item.getChance())
|
||||
{
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -54,19 +54,19 @@ public class Q00325_GrimCollector extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 15;
|
||||
// Monsters
|
||||
private static final Map<Integer, List<QuestItemHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
private static final Map<Integer, List<ItemChanceHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69)));
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 50), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 52), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 15), new ItemChanceHolder(SPINE, 29), new ItemChanceHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 19), new ItemChanceHolder(ARM_BONE, 69), new ItemChanceHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(SPINE, 59), new ItemChanceHolder(ARM_BONE, 77), new ItemChanceHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(RIB_BONE, 59), new ItemChanceHolder(SPINE, 79), new ItemChanceHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 60), new ItemChanceHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 70), new ItemChanceHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 21), new ItemChanceHolder(SPINE, 30), new ItemChanceHolder(ARM_BONE, 31), new ItemChanceHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 20), new ItemChanceHolder(SPINE, 31), new ItemChanceHolder(ARM_BONE, 33), new ItemChanceHolder(THIGH_BONE, 69)));
|
||||
}
|
||||
|
||||
public Q00325_GrimCollector()
|
||||
@ -201,7 +201,7 @@ public class Q00325_GrimCollector extends Quest
|
||||
}
|
||||
|
||||
final int rnd = getRandom(100);
|
||||
for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
for (ItemChanceHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
{
|
||||
if (rnd < drop.getChance())
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
@ -39,15 +39,15 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
MOBS_DROP_CHANCES.put(20609, new ItemChanceHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new ItemChanceHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new ItemChanceHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new ItemChanceHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new ItemChanceHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new ItemChanceHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
}
|
||||
|
||||
public Q00369_CollectorOfJewels()
|
||||
@ -113,7 +113,7 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (getRandom(100) < item.getChance())
|
||||
{
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -54,19 +54,19 @@ public class Q00325_GrimCollector extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 15;
|
||||
// Monsters
|
||||
private static final Map<Integer, List<QuestItemHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
private static final Map<Integer, List<ItemChanceHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69)));
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 50), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 52), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 15), new ItemChanceHolder(SPINE, 29), new ItemChanceHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 19), new ItemChanceHolder(ARM_BONE, 69), new ItemChanceHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(SPINE, 59), new ItemChanceHolder(ARM_BONE, 77), new ItemChanceHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(RIB_BONE, 59), new ItemChanceHolder(SPINE, 79), new ItemChanceHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 60), new ItemChanceHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 70), new ItemChanceHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 21), new ItemChanceHolder(SPINE, 30), new ItemChanceHolder(ARM_BONE, 31), new ItemChanceHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 20), new ItemChanceHolder(SPINE, 31), new ItemChanceHolder(ARM_BONE, 33), new ItemChanceHolder(THIGH_BONE, 69)));
|
||||
}
|
||||
|
||||
public Q00325_GrimCollector()
|
||||
@ -201,7 +201,7 @@ public class Q00325_GrimCollector extends Quest
|
||||
}
|
||||
|
||||
final int rnd = getRandom(100);
|
||||
for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
for (ItemChanceHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
{
|
||||
if (rnd < drop.getChance())
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
@ -39,15 +39,15 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
MOBS_DROP_CHANCES.put(20609, new ItemChanceHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new ItemChanceHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new ItemChanceHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new ItemChanceHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new ItemChanceHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new ItemChanceHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
}
|
||||
|
||||
public Q00369_CollectorOfJewels()
|
||||
@ -113,7 +113,7 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (getRandom(100) < item.getChance())
|
||||
{
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -54,19 +54,19 @@ public class Q00325_GrimCollector extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 15;
|
||||
// Monsters
|
||||
private static final Map<Integer, List<QuestItemHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
private static final Map<Integer, List<ItemChanceHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69)));
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 50), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 52), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 15), new ItemChanceHolder(SPINE, 29), new ItemChanceHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 19), new ItemChanceHolder(ARM_BONE, 69), new ItemChanceHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(SPINE, 59), new ItemChanceHolder(ARM_BONE, 77), new ItemChanceHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(RIB_BONE, 59), new ItemChanceHolder(SPINE, 79), new ItemChanceHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 60), new ItemChanceHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 70), new ItemChanceHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 21), new ItemChanceHolder(SPINE, 30), new ItemChanceHolder(ARM_BONE, 31), new ItemChanceHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 20), new ItemChanceHolder(SPINE, 31), new ItemChanceHolder(ARM_BONE, 33), new ItemChanceHolder(THIGH_BONE, 69)));
|
||||
}
|
||||
|
||||
public Q00325_GrimCollector()
|
||||
@ -201,7 +201,7 @@ public class Q00325_GrimCollector extends Quest
|
||||
}
|
||||
|
||||
final int rnd = getRandom(100);
|
||||
for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
for (ItemChanceHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
{
|
||||
if (rnd < drop.getChance())
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
@ -39,15 +39,15 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
MOBS_DROP_CHANCES.put(20609, new ItemChanceHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new ItemChanceHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new ItemChanceHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new ItemChanceHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new ItemChanceHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new ItemChanceHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
}
|
||||
|
||||
public Q00369_CollectorOfJewels()
|
||||
@ -113,7 +113,7 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (getRandom(100) < item.getChance())
|
||||
{
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
@ -39,15 +39,15 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
MOBS_DROP_CHANCES.put(20609, new ItemChanceHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new ItemChanceHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new ItemChanceHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new ItemChanceHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new ItemChanceHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new ItemChanceHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
}
|
||||
|
||||
public Q00369_CollectorOfJewels()
|
||||
@ -113,7 +113,7 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (getRandom(100) < item.getChance())
|
||||
{
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
@ -54,19 +54,19 @@ public class Q00325_GrimCollector extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 15;
|
||||
// Monsters
|
||||
private static final Map<Integer, List<QuestItemHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
private static final Map<Integer, List<ItemChanceHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69)));
|
||||
MONSTER_DROPS.put(20026, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 50), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20029, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 30), new ItemChanceHolder(ZOMBIE_HEART, 52), new ItemChanceHolder(ZOMBIE_LIVER, 75)));
|
||||
MONSTER_DROPS.put(20035, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 15), new ItemChanceHolder(SPINE, 29), new ItemChanceHolder(THIGH_BONE, 79)));
|
||||
MONSTER_DROPS.put(20042, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 19), new ItemChanceHolder(ARM_BONE, 69), new ItemChanceHolder(THIGH_BONE, 86)));
|
||||
MONSTER_DROPS.put(20045, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(SPINE, 59), new ItemChanceHolder(ARM_BONE, 77), new ItemChanceHolder(THIGH_BONE, 97)));
|
||||
MONSTER_DROPS.put(20051, Arrays.asList(new ItemChanceHolder(SKULL, 9), new ItemChanceHolder(RIB_BONE, 59), new ItemChanceHolder(SPINE, 79), new ItemChanceHolder(ARM_BONE, 100)));
|
||||
MONSTER_DROPS.put(20457, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 60), new ItemChanceHolder(ZOMBIE_LIVER, 80)));
|
||||
MONSTER_DROPS.put(20458, Arrays.asList(new ItemChanceHolder(ZOMBIE_HEAD, 40), new ItemChanceHolder(ZOMBIE_HEART, 70), new ItemChanceHolder(ZOMBIE_LIVER, 100)));
|
||||
MONSTER_DROPS.put(20514, Arrays.asList(new ItemChanceHolder(SKULL, 6), new ItemChanceHolder(RIB_BONE, 21), new ItemChanceHolder(SPINE, 30), new ItemChanceHolder(ARM_BONE, 31), new ItemChanceHolder(THIGH_BONE, 64)));
|
||||
MONSTER_DROPS.put(20515, Arrays.asList(new ItemChanceHolder(SKULL, 5), new ItemChanceHolder(RIB_BONE, 20), new ItemChanceHolder(SPINE, 31), new ItemChanceHolder(ARM_BONE, 33), new ItemChanceHolder(THIGH_BONE, 69)));
|
||||
}
|
||||
|
||||
public Q00325_GrimCollector()
|
||||
@ -201,7 +201,7 @@ public class Q00325_GrimCollector extends Quest
|
||||
}
|
||||
|
||||
final int rnd = getRandom(100);
|
||||
for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
for (ItemChanceHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
{
|
||||
if (rnd < drop.getChance())
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.QuestItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
@ -39,15 +39,15 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
// Mobs
|
||||
private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
MOBS_DROP_CHANCES.put(20609, new ItemChanceHolder(FLARE_SHARD, 75, 1)); // salamander_lakin
|
||||
MOBS_DROP_CHANCES.put(20612, new ItemChanceHolder(FLARE_SHARD, 91, 1)); // salamander_rowin
|
||||
MOBS_DROP_CHANCES.put(20749, new ItemChanceHolder(FLARE_SHARD, 100, 2)); // death_fire
|
||||
MOBS_DROP_CHANCES.put(20616, new ItemChanceHolder(FREEZING_SHARD, 81, 1)); // undine_lakin
|
||||
MOBS_DROP_CHANCES.put(20619, new ItemChanceHolder(FREEZING_SHARD, 87, 1)); // undine_rowin
|
||||
MOBS_DROP_CHANCES.put(20747, new ItemChanceHolder(FREEZING_SHARD, 100, 2)); // roxide
|
||||
}
|
||||
|
||||
public Q00369_CollectorOfJewels()
|
||||
@ -113,7 +113,7 @@ public class Q00369_CollectorOfJewels extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (getRandom(100) < item.getChance())
|
||||
{
|
||||
final Player luckyPlayer = getRandomPartyMember(player, npc);
|
||||
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
@ -21,8 +21,7 @@ import java.util.List;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link QuestItemHolder}.
|
||||
* A DTO for items; contains item ID, count and chance.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class ItemChanceHolder extends ItemHolder
|
||||
|
@ -20,8 +20,7 @@ import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
|
||||
/**
|
||||
* A simple DTO for items; contains item ID and count.<br>
|
||||
* Extended by {@link ItemChanceHolder}, {@link QuestItemHolder}, {@link UniqueItemHolder}.
|
||||
* A simple DTO for items; contains item ID and count.
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class ItemHolder implements IIdentifiable
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.holders;
|
||||
|
||||
/**
|
||||
* A DTO for items; contains item ID, count and chance.<br>
|
||||
* Complemented by {@link ItemChanceHolder}.
|
||||
* @author xban1x
|
||||
*/
|
||||
public class QuestItemHolder extends ItemHolder
|
||||
{
|
||||
private final int _chance;
|
||||
|
||||
public QuestItemHolder(int id, int chance)
|
||||
{
|
||||
this(id, chance, 1);
|
||||
}
|
||||
|
||||
public QuestItemHolder(int id, int chance, long count)
|
||||
{
|
||||
super(id, count);
|
||||
_chance = chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chance.
|
||||
* @return the drop chance of the item contained in this object
|
||||
*/
|
||||
public int getChance()
|
||||
{
|
||||
return _chance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "[" + getClass().getSimpleName() + "] ID: " + getId() + ", count: " + getCount() + ", chance: " + _chance;
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user