Fixed CreateItemRandom handler consuming more than one reagent.
This commit is contained in:
parent
101ec3e0a7
commit
03da47d5c6
@ -25,9 +25,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.model.items.type.ActionType;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -65,28 +63,19 @@ public class CreateItemRandom extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
ItemChanceHolder selectedItem = null;
|
||||
final double random = Rnd.nextDouble() * 100;
|
||||
double comulativeChance = 0;
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
for (int attempt = 0; attempt <= 1000; attempt++) // 1000 attempts! TODO: Remove this whole handler.
|
||||
{
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
{
|
||||
selectedItem = holder;
|
||||
break;
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
{
|
||||
player.addItem("CreateItems", holder.getId(), holder.getCount(), player, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (selectedItem == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THERE_WAS_NOTHING_FOUND_INSIDE);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((item.getItem().getDefaultAction() != ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS) || player.destroyItem("Consume", item.getObjectId(), 1, player, true))
|
||||
{
|
||||
player.addItem("CreateItems", selectedItem.getId(), selectedItem.getCount(), player, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,9 +25,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.model.items.type.ActionType;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -65,28 +63,19 @@ public class CreateItemRandom extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
ItemChanceHolder selectedItem = null;
|
||||
final double random = Rnd.nextDouble() * 100;
|
||||
double comulativeChance = 0;
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
for (int attempt = 0; attempt <= 1000; attempt++) // 1000 attempts! TODO: Remove this whole handler.
|
||||
{
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
{
|
||||
selectedItem = holder;
|
||||
break;
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
{
|
||||
player.addItem("CreateItems", holder.getId(), holder.getCount(), player, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (selectedItem == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THERE_WAS_NOTHING_FOUND_INSIDE);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((item.getItem().getDefaultAction() != ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS) || player.destroyItem("Consume", item.getObjectId(), 1, player, true))
|
||||
{
|
||||
player.addItem("CreateItems", selectedItem.getId(), selectedItem.getCount(), player, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,9 +25,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.model.items.type.ActionType;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -65,28 +63,19 @@ public class CreateItemRandom extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
ItemChanceHolder selectedItem = null;
|
||||
final double random = Rnd.nextDouble() * 100;
|
||||
double comulativeChance = 0;
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
for (int attempt = 0; attempt <= 1000; attempt++) // 1000 attempts! TODO: Remove this whole handler.
|
||||
{
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
{
|
||||
selectedItem = holder;
|
||||
break;
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
{
|
||||
player.addItem("CreateItems", holder.getId(), holder.getCount(), player, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (selectedItem == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THERE_WAS_NOTHING_FOUND_INSIDE);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((item.getItem().getDefaultAction() != ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS) || player.destroyItem("Consume", item.getObjectId(), 1, player, true))
|
||||
{
|
||||
player.addItem("CreateItems", selectedItem.getId(), selectedItem.getCount(), player, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,9 +25,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.model.items.type.ActionType;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -65,28 +63,19 @@ public class CreateItemRandom extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
ItemChanceHolder selectedItem = null;
|
||||
final double random = Rnd.nextDouble() * 100;
|
||||
double comulativeChance = 0;
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
for (int attempt = 0; attempt <= 1000; attempt++) // 1000 attempts! TODO: Remove this whole handler.
|
||||
{
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
{
|
||||
selectedItem = holder;
|
||||
break;
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
{
|
||||
player.addItem("CreateItems", holder.getId(), holder.getCount(), player, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (selectedItem == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THERE_WAS_NOTHING_FOUND_INSIDE);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((item.getItem().getDefaultAction() != ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS) || player.destroyItem("Consume", item.getObjectId(), 1, player, true))
|
||||
{
|
||||
player.addItem("CreateItems", selectedItem.getId(), selectedItem.getCount(), player, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,9 +25,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.model.items.type.ActionType;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -65,28 +63,19 @@ public class CreateItemRandom extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
ItemChanceHolder selectedItem = null;
|
||||
final double random = Rnd.nextDouble() * 100;
|
||||
double comulativeChance = 0;
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
for (int attempt = 0; attempt <= 1000; attempt++) // 1000 attempts! TODO: Remove this whole handler.
|
||||
{
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
{
|
||||
selectedItem = holder;
|
||||
break;
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
{
|
||||
player.addItem("CreateItems", holder.getId(), holder.getCount(), player, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (selectedItem == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THERE_WAS_NOTHING_FOUND_INSIDE);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((item.getItem().getDefaultAction() != ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS) || player.destroyItem("Consume", item.getObjectId(), 1, player, true))
|
||||
{
|
||||
player.addItem("CreateItems", selectedItem.getId(), selectedItem.getCount(), player, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,9 +25,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.model.items.type.ActionType;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -65,28 +63,19 @@ public class CreateItemRandom extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
ItemChanceHolder selectedItem = null;
|
||||
final double random = Rnd.nextDouble() * 100;
|
||||
double comulativeChance = 0;
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
for (int attempt = 0; attempt <= 1000; attempt++) // 1000 attempts! TODO: Remove this whole handler.
|
||||
{
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
{
|
||||
selectedItem = holder;
|
||||
break;
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
{
|
||||
player.addItem("CreateItems", holder.getId(), holder.getCount(), player, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (selectedItem == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THERE_WAS_NOTHING_FOUND_INSIDE);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((item.getItem().getDefaultAction() != ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS) || player.destroyItem("Consume", item.getObjectId(), 1, player, true))
|
||||
{
|
||||
player.addItem("CreateItems", selectedItem.getId(), selectedItem.getCount(), player, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,9 +25,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.model.items.type.ActionType;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -65,28 +63,19 @@ public class CreateItemRandom extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
ItemChanceHolder selectedItem = null;
|
||||
final double random = Rnd.nextDouble() * 100;
|
||||
double comulativeChance = 0;
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
for (int attempt = 0; attempt <= 1000; attempt++) // 1000 attempts! TODO: Remove this whole handler.
|
||||
{
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
for (ItemChanceHolder holder : item.getItem().getCreateItems())
|
||||
{
|
||||
selectedItem = holder;
|
||||
break;
|
||||
comulativeChance += holder.getChance();
|
||||
if (comulativeChance >= random)
|
||||
{
|
||||
player.addItem("CreateItems", holder.getId(), holder.getCount(), player, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (selectedItem == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THERE_WAS_NOTHING_FOUND_INSIDE);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((item.getItem().getDefaultAction() != ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS) || player.destroyItem("Consume", item.getObjectId(), 1, player, true))
|
||||
{
|
||||
player.addItem("CreateItems", selectedItem.getId(), selectedItem.getCount(), player, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user