Added latest commits for todays sync.
This commit is contained in:
@@ -94,7 +94,7 @@ public final class Heal extends AbstractEffect
|
|||||||
final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
|
final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
|
||||||
if (weaponInst != null)
|
if (weaponInst != null)
|
||||||
{
|
{
|
||||||
mAtkMul = weaponInst.getItem().getItemGrade() == CrystalType.S84 ? 4 : weaponInst.getItem().getItemGrade() == CrystalType.S80 ? 2 : 1;
|
mAtkMul = weaponInst.getItem().getCrystalType() == CrystalType.S84 ? 4 : weaponInst.getItem().getCrystalType() == CrystalType.S80 ? 2 : 1;
|
||||||
}
|
}
|
||||||
// shot dynamic bonus
|
// shot dynamic bonus
|
||||||
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;
|
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;
|
||||||
|
@@ -94,7 +94,7 @@ public final class HpCpHeal extends AbstractEffect
|
|||||||
final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
|
final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
|
||||||
if (weaponInst != null)
|
if (weaponInst != null)
|
||||||
{
|
{
|
||||||
mAtkMul = weaponInst.getItem().getItemGrade() == CrystalType.S84 ? 4 : weaponInst.getItem().getItemGrade() == CrystalType.S80 ? 2 : 1;
|
mAtkMul = weaponInst.getItem().getCrystalType() == CrystalType.S84 ? 4 : weaponInst.getItem().getCrystalType() == CrystalType.S80 ? 2 : 1;
|
||||||
}
|
}
|
||||||
// shot dynamic bonus
|
// shot dynamic bonus
|
||||||
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;
|
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;
|
||||||
|
@@ -73,7 +73,7 @@ public class BlessedSpiritShot implements IItemHandler
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check for correct grade
|
// Check for correct grade
|
||||||
boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getItemGradeSPlus() == item.getItem().getItemGradeSPlus());
|
boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||||
|
|
||||||
if (!gradeCheck)
|
if (!gradeCheck)
|
||||||
{
|
{
|
||||||
|
@@ -44,7 +44,7 @@ public class CharmOfCourage implements IItemHandler
|
|||||||
final L2PcInstance activeChar = playable.getActingPlayer();
|
final L2PcInstance activeChar = playable.getActingPlayer();
|
||||||
|
|
||||||
int level = activeChar.getLevel();
|
int level = activeChar.getLevel();
|
||||||
final int itemLevel = item.getItem().getItemGrade().getId();
|
final int itemLevel = item.getItem().getCrystalType().getId();
|
||||||
|
|
||||||
if (level < 20)
|
if (level < 20)
|
||||||
{
|
{
|
||||||
|
@@ -71,7 +71,7 @@ public class FishShots implements IItemHandler
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT) && (weaponInst.getItem().getItemGradeSPlus() == item.getItem().getItemGradeSPlus());
|
boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||||
|
|
||||||
if (!gradeCheck)
|
if (!gradeCheck)
|
||||||
{
|
{
|
||||||
|
@@ -67,7 +67,7 @@ public class SoulShots implements IItemHandler
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getItemGradeSPlus() == item.getItem().getItemGradeSPlus());
|
boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||||
|
|
||||||
if (!gradeCheck)
|
if (!gradeCheck)
|
||||||
{
|
{
|
||||||
|
@@ -72,7 +72,7 @@ public class SpiritShot implements IItemHandler
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getItemGradeSPlus() == item.getItem().getItemGradeSPlus());
|
boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||||
|
|
||||||
if (!gradeCheck)
|
if (!gradeCheck)
|
||||||
{
|
{
|
||||||
|
@@ -18,17 +18,20 @@
|
|||||||
*/
|
*/
|
||||||
package quests.Q10323_TrainLikeItsReal;
|
package quests.Q10323_TrainLikeItsReal;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import quests.Q10322_SearchingForTheMysteriousPower.Q10322_SearchingForTheMysteriousPower;
|
import quests.Q10322_SearchingForTheMysteriousPower.Q10322_SearchingForTheMysteriousPower;
|
||||||
|
|
||||||
import com.l2jserver.gameserver.enums.QuestSound;
|
import com.l2jserver.gameserver.enums.QuestSound;
|
||||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||||
|
import com.l2jserver.gameserver.model.holders.NpcLogListHolder;
|
||||||
import com.l2jserver.gameserver.model.quest.Quest;
|
import com.l2jserver.gameserver.model.quest.Quest;
|
||||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||||
import com.l2jserver.gameserver.model.quest.State;
|
import com.l2jserver.gameserver.model.quest.State;
|
||||||
import com.l2jserver.gameserver.network.NpcStringId;
|
import com.l2jserver.gameserver.network.NpcStringId;
|
||||||
import com.l2jserver.gameserver.network.serverpackets.ExQuestNpcLogList;
|
|
||||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
import com.l2jserver.gameserver.network.serverpackets.TutorialShowHtml;
|
import com.l2jserver.gameserver.network.serverpackets.TutorialShowHtml;
|
||||||
|
|
||||||
@@ -99,9 +102,6 @@ public class Q10323_TrainLikeItsReal extends Quest
|
|||||||
if (qs.isCond(1))
|
if (qs.isCond(1))
|
||||||
{
|
{
|
||||||
qs.setCond(2, true);
|
qs.setCond(2, true);
|
||||||
final ExQuestNpcLogList packet = new ExQuestNpcLogList(getId());
|
|
||||||
packet.addNpc(TRAINING_GOLEM, 0);
|
|
||||||
player.sendPacket(packet);
|
|
||||||
htmltext = event;
|
htmltext = event;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -256,9 +256,7 @@ public class Q10323_TrainLikeItsReal extends Quest
|
|||||||
if (qs.isCond(2))
|
if (qs.isCond(2))
|
||||||
{
|
{
|
||||||
killedGolem++;
|
killedGolem++;
|
||||||
final ExQuestNpcLogList packet = new ExQuestNpcLogList(getId());
|
|
||||||
packet.addNpcString(NpcStringId.ELIMINATE_THE_TRAINING_GOLEM, killedGolem);
|
|
||||||
killer.sendPacket(packet);
|
|
||||||
if (killedGolem >= 4)
|
if (killedGolem >= 4)
|
||||||
{
|
{
|
||||||
qs.setCond(3, true);
|
qs.setCond(3, true);
|
||||||
@@ -266,15 +264,14 @@ public class Q10323_TrainLikeItsReal extends Quest
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
qs.setMemoState(killedGolem);
|
qs.setMemoState(killedGolem);
|
||||||
|
sendNpcLogList(killer);
|
||||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (qs.isCond(6) || qs.isCond(7))
|
else if (qs.isCond(6) || qs.isCond(7))
|
||||||
{
|
{
|
||||||
killedGolem++;
|
killedGolem++;
|
||||||
final ExQuestNpcLogList packet = new ExQuestNpcLogList(getId());
|
|
||||||
packet.addNpcString(NpcStringId.ELIMINATE_THE_TRAINING_GOLEM2, killedGolem);
|
|
||||||
killer.sendPacket(packet);
|
|
||||||
if (killedGolem >= 4)
|
if (killedGolem >= 4)
|
||||||
{
|
{
|
||||||
qs.setCond(8, true);
|
qs.setCond(8, true);
|
||||||
@@ -282,11 +279,30 @@ public class Q10323_TrainLikeItsReal extends Quest
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
qs.setMemoState(killedGolem);
|
qs.setMemoState(killedGolem);
|
||||||
|
sendNpcLogList(killer);
|
||||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.onKill(npc, killer, isSummon);
|
return super.onKill(npc, killer, isSummon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<NpcLogListHolder> getNpcLogList(L2PcInstance activeChar)
|
||||||
|
{
|
||||||
|
final QuestState qs = getQuestState(activeChar, false);
|
||||||
|
final Set<NpcLogListHolder> npcLogList = new HashSet<>(1);
|
||||||
|
|
||||||
|
if ((qs != null) && (qs.isCond(2)))
|
||||||
|
{
|
||||||
|
npcLogList.add(new NpcLogListHolder(NpcStringId.ELIMINATE_THE_TRAINING_GOLEM, qs.getMemoState()));
|
||||||
|
return npcLogList;
|
||||||
|
}
|
||||||
|
else if ((qs != null) && (qs.isCond(6) || qs.isCond(7)))
|
||||||
|
{
|
||||||
|
npcLogList.add(new NpcLogListHolder(NpcStringId.ELIMINATE_THE_TRAINING_GOLEM2, qs.getMemoState()));
|
||||||
|
return npcLogList;
|
||||||
|
}
|
||||||
|
return super.getNpcLogList(activeChar);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
<html><body>Pantheon:<br>
|
<html><body>Pantheon:<br>
|
||||||
Suspicious Types... Now I remember that in recent times have also seen in the Museum of strange personalities. It seemed to me that they are looking for material on the Giants... Maybe they're one of those bands that were seen in the Ruins?<br><br>
|
Suspicious Types... Now I remember that in recent times have also seen in the Museum of strange personalities. It seemed to me that they are looking for material on the Giants... Maybe they're one of those bands that were seen in the Ruins?<br>
|
||||||
They tried to steal a book called <font color="LEVEL">War of the Gods and the Giants</font>. In this ancient manuscript contains information in the power of the Giants, the origin of their powers, monsters era Giants and the like. I am afraid that now, after the fall of the Island of Giants, this information can be used for evil purposes. It is necessary to rearrange the book elsewhere.
|
They tried to steal a book called <font color="LEVEL">War of the Gods and the Giants</font>. In this ancient manuscript contains information in the power of the Giants, the origin of their powers, monsters era Giants and the like. I am afraid that now, after the fall of the Island of Giants, this information can be used for evil purposes. It is necessary to rearrange the book elsewhere.
|
||||||
</body></html>
|
</body></html>
|
@@ -1,6 +1,6 @@
|
|||||||
<html><body>Gallint:<br>
|
<html><body>Gallint:<br>
|
||||||
You know... Today I long for the first time, brought order to the documents. There were so many that had to move folders using magic.<br><br>
|
You know... Today I long for the first time, brought order to the documents. There were so many that had to move folders using magic.<br>
|
||||||
But these manuscripts was so much dust that I started sneezing. Distracted, and documents that are carried through the air, dropped over. Now sore lower back.<br><br>
|
But these manuscripts was so much dust that I started sneezing. Distracted, and documents that are carried through the air, dropped over. Now sore lower back.<br>
|
||||||
For three days had passed on his feet I stood up, but moving all Yeshe hard. It was necessary to convey something of the Pantheon. Phew.<br>
|
For three days had passed on his feet I stood up, but moving all Yeshe hard. It was necessary to convey something of the Pantheon. Phew.<br>
|
||||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10326_RespectYourElders 32980-03.htm">"Offer Help"</button>
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10326_RespectYourElders 32980-03.htm">"Offer Help"</button>
|
||||||
</body></html>
|
</body></html>
|
@@ -191,7 +191,11 @@ public class Q10326_RespectYourElders extends Quest
|
|||||||
{
|
{
|
||||||
case State.CREATED:
|
case State.CREATED:
|
||||||
{
|
{
|
||||||
htmltext = npc.getId() == GALLINT ? "32980-01.htm" : "32972-01a.htm";
|
if (npc.getId() == GALLINT)
|
||||||
|
{
|
||||||
|
htmltext = "32980-01.htm";
|
||||||
|
break;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case State.STARTED:
|
case State.STARTED:
|
||||||
|
@@ -343,9 +343,16 @@
|
|||||||
<item id="17754" name="Soulshot (R-grade)" additionalName="" type="EtcItem">
|
<item id="17754" name="Soulshot (R-grade)" additionalName="" type="EtcItem">
|
||||||
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its P. Atk. significantly. Can be used with an R-grade weapon. -->
|
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its P. Atk. significantly. Can be used with an R-grade weapon. -->
|
||||||
<set name="icon" val="icon.soulshot_r_i00" />
|
<set name="icon" val="icon.soulshot_r_i00" />
|
||||||
|
<set name="default_action" val="SOULSHOT" />
|
||||||
|
<set name="crystal_type" val="R" />
|
||||||
<set name="weight" val="1" />
|
<set name="weight" val="1" />
|
||||||
<set name="price" val="200" />
|
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="immediate_effect" val="true" />
|
||||||
|
<set name="material" val="PAPER" />
|
||||||
|
<set name="price" val="200" />
|
||||||
|
<set name="handler" val="SoulShots" />
|
||||||
|
<set name="item_skill" val="9193-1" />
|
||||||
|
<set name="commissionItemType" val="SOULSHOT" />
|
||||||
</item>
|
</item>
|
||||||
<item id="17755" name="Human Male Wig - A" additionalName="" type="Armor">
|
<item id="17755" name="Human Male Wig - A" additionalName="" type="Armor">
|
||||||
<set name="icon" val="BranchSys.icon.br_plastic_hair_f_i00" />
|
<set name="icon" val="BranchSys.icon.br_plastic_hair_f_i00" />
|
||||||
|
16
trunk/dist/game/data/stats/items/19400-19499.xml
vendored
16
trunk/dist/game/data/stats/items/19400-19499.xml
vendored
@@ -288,16 +288,30 @@
|
|||||||
<item id="19441" name="Spiritshot (R-grade)" additionalName="" type="EtcItem">
|
<item id="19441" name="Spiritshot (R-grade)" additionalName="" type="EtcItem">
|
||||||
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its M. Atk. Can be used with an R-grade weapon. -->
|
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its M. Atk. Can be used with an R-grade weapon. -->
|
||||||
<set name="icon" val="icon.spiritshot_r_i00" />
|
<set name="icon" val="icon.spiritshot_r_i00" />
|
||||||
|
<set name="default_action" val="SPIRITSHOT" />
|
||||||
|
<set name="immediate_effect" val="true" />
|
||||||
|
<set name="crystal_type" val="R" />
|
||||||
|
<set name="material" val="PAPER" />
|
||||||
<set name="weight" val="1" />
|
<set name="weight" val="1" />
|
||||||
<set name="price" val="300" />
|
<set name="price" val="350" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="handler" val="SpiritShot" />
|
||||||
|
<set name="item_skill" val="9194-1" />
|
||||||
|
<set name="commissionItemType" val="SPIRITSHOT" />
|
||||||
</item>
|
</item>
|
||||||
<item id="19442" name="Blessed Spiritshot (R-grade)" additionalName="" type="EtcItem">
|
<item id="19442" name="Blessed Spiritshot (R-grade)" additionalName="" type="EtcItem">
|
||||||
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its M. Atk. significantly. Can be used with an R-grade weapon. -->
|
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its M. Atk. significantly. Can be used with an R-grade weapon. -->
|
||||||
<set name="icon" val="icon.blessed_spiritshot_r_i00" />
|
<set name="icon" val="icon.blessed_spiritshot_r_i00" />
|
||||||
|
<set name="default_action" val="SPIRITSHOT" />
|
||||||
|
<set name="immediate_effect" val="true" />
|
||||||
|
<set name="crystal_type" val="R" />
|
||||||
|
<set name="material" val="PAPER" />
|
||||||
<set name="weight" val="1" />
|
<set name="weight" val="1" />
|
||||||
<set name="price" val="750" />
|
<set name="price" val="750" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="handler" val="BlessedSpiritShot" />
|
||||||
|
<set name="item_skill" val="9195-1" />
|
||||||
|
<set name="commissionItemType" val="SPIRITSHOT" />
|
||||||
</item>
|
</item>
|
||||||
<item id="19443" name="Orichalcum Bolt" additionalName="" type="EtcItem">
|
<item id="19443" name="Orichalcum Bolt" additionalName="" type="EtcItem">
|
||||||
<!-- Bolt made of Orichalcum. Used as bolts for R-grade Crossbows. -->
|
<!-- Bolt made of Orichalcum. Used as bolts for R-grade Crossbows. -->
|
||||||
|
16
trunk/dist/game/data/stats/items/22400-22499.xml
vendored
16
trunk/dist/game/data/stats/items/22400-22499.xml
vendored
@@ -211,12 +211,28 @@
|
|||||||
<item id="22433" name="Soulshot (R-grade)" additionalName="" type="EtcItem">
|
<item id="22433" name="Soulshot (R-grade)" additionalName="" type="EtcItem">
|
||||||
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its P. Atk. significantly. Can be used with an R-grade weapon. -->
|
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its P. Atk. significantly. Can be used with an R-grade weapon. -->
|
||||||
<set name="icon" val="icon.soulshot_r_i00" />
|
<set name="icon" val="icon.soulshot_r_i00" />
|
||||||
|
<set name="default_action" val="SOULSHOT" />
|
||||||
|
<set name="crystal_type" val="R" />
|
||||||
|
<set name="weight" val="1" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="immediate_effect" val="true" />
|
||||||
|
<set name="material" val="PAPER" />
|
||||||
|
<set name="price" val="1000" />
|
||||||
|
<set name="handler" val="SoulShots" />
|
||||||
|
<set name="item_skill" val="9193-1" />
|
||||||
</item>
|
</item>
|
||||||
<item id="22434" name="Blessed Spiritshot (R-grade)" additionalName="" type="EtcItem">
|
<item id="22434" name="Blessed Spiritshot (R-grade)" additionalName="" type="EtcItem">
|
||||||
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its M. Atk. significantly. Can be used with an R-grade weapon. -->
|
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its M. Atk. significantly. Can be used with an R-grade weapon. -->
|
||||||
<set name="icon" val="icon.blessed_spiritshot_r_i00" />
|
<set name="icon" val="icon.blessed_spiritshot_r_i00" />
|
||||||
|
<set name="default_action" val="SPIRITSHOT" />
|
||||||
|
<set name="immediate_effect" val="true" />
|
||||||
|
<set name="crystal_type" val="R" />
|
||||||
|
<set name="material" val="PAPER" />
|
||||||
|
<set name="weight" val="1" />
|
||||||
|
<set name="price" val="350" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="handler" val="BlessedSpiritShot" />
|
||||||
|
<set name="item_skill" val="9195-1" />
|
||||||
</item>
|
</item>
|
||||||
<item id="22435" name="Scroll of Escape" additionalName="" type="EtcItem">
|
<item id="22435" name="Scroll of Escape" additionalName="" type="EtcItem">
|
||||||
<!-- Magic scroll that moves you to the nearest village. Weight is 0. -->
|
<!-- Magic scroll that moves you to the nearest village. Weight is 0. -->
|
||||||
|
15
trunk/dist/game/data/stats/items/22800-22899.xml
vendored
15
trunk/dist/game/data/stats/items/22800-22899.xml
vendored
@@ -720,12 +720,27 @@
|
|||||||
<item id="22888" name="Mysterious Soulshot (R-grade)" additionalName="" type="EtcItem">
|
<item id="22888" name="Mysterious Soulshot (R-grade)" additionalName="" type="EtcItem">
|
||||||
<!-- Dimensional Item\nThe power of a spirit is bestowed upon a weapon, momentarily increasing its P. Atk. significantly. Can be used with an R-grade weapon. Cannot be exchanged or dropped. Can be stored in a private warehouse. Can be shared within an account through the Dimensional Merchant. -->
|
<!-- Dimensional Item\nThe power of a spirit is bestowed upon a weapon, momentarily increasing its P. Atk. significantly. Can be used with an R-grade weapon. Cannot be exchanged or dropped. Can be stored in a private warehouse. Can be shared within an account through the Dimensional Merchant. -->
|
||||||
<set name="icon" val="icon.bm_soulshot_purple" />
|
<set name="icon" val="icon.bm_soulshot_purple" />
|
||||||
|
<set name="default_action" val="SOULSHOT" />
|
||||||
|
<set name="crystal_type" val="R" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="immediate_effect" val="true" />
|
||||||
|
<set name="material" val="PAPER" />
|
||||||
|
<set name="price" val="1000" />
|
||||||
|
<set name="handler" val="SoulShots" />
|
||||||
|
<set name="item_skill" val="9193-1" />
|
||||||
</item>
|
</item>
|
||||||
<item id="22889" name="Mysterious Blessed Spiritshot (R-grade)" additionalName="" type="EtcItem">
|
<item id="22889" name="Mysterious Blessed Spiritshot (R-grade)" additionalName="" type="EtcItem">
|
||||||
<!-- Dimensional Item\nThe power of a higher-level spirit is bestowed upon a weapon, momentarily increasing its M. Atk. significantly. Can be used with an R-grade weapon. Cannot be exchanged or dropped. Can be stored in a private warehouse. Can be shared within an account through the Dimensional Merchant. -->
|
<!-- Dimensional Item\nThe power of a higher-level spirit is bestowed upon a weapon, momentarily increasing its M. Atk. significantly. Can be used with an R-grade weapon. Cannot be exchanged or dropped. Can be stored in a private warehouse. Can be shared within an account through the Dimensional Merchant. -->
|
||||||
<set name="icon" val="icon.bm_spell_shot_purple" />
|
<set name="icon" val="icon.bm_spell_shot_purple" />
|
||||||
|
<set name="default_action" val="SPIRITSHOT" />
|
||||||
|
<set name="immediate_effect" val="true" />
|
||||||
|
<set name="crystal_type" val="R" />
|
||||||
|
<set name="material" val="PAPER" />
|
||||||
|
<set name="weight" val="1" />
|
||||||
|
<set name="price" val="350" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="handler" val="BlessedSpiritShot" />
|
||||||
|
<set name="item_skill" val="9195-1" />
|
||||||
</item>
|
</item>
|
||||||
<item id="22890" name="Mysterious Blessed Soulshot Pack (10000) (R-grade)" additionalName="" type="EtcItem">
|
<item id="22890" name="Mysterious Blessed Soulshot Pack (10000) (R-grade)" additionalName="" type="EtcItem">
|
||||||
<!-- Pack containing 10,000 Mysterious Soulshots (R-grade). -->
|
<!-- Pack containing 10,000 Mysterious Soulshots (R-grade). -->
|
||||||
|
16
trunk/dist/game/data/stats/items/34600-34699.xml
vendored
16
trunk/dist/game/data/stats/items/34600-34699.xml
vendored
@@ -49,7 +49,14 @@
|
|||||||
<item id="34609" name="Mysterious Soulshot (R-grade)" additionalName="Event" type="EtcItem">
|
<item id="34609" name="Mysterious Soulshot (R-grade)" additionalName="Event" type="EtcItem">
|
||||||
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its P. Atk. significantly. Can be used with an R-grade weapon. -->
|
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its P. Atk. significantly. Can be used with an R-grade weapon. -->
|
||||||
<set name="icon" val="icon.soulshot_r_i00" />
|
<set name="icon" val="icon.soulshot_r_i00" />
|
||||||
|
<set name="default_action" val="SOULSHOT" />
|
||||||
|
<set name="crystal_type" val="R" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="immediate_effect" val="true" />
|
||||||
|
<set name="material" val="PAPER" />
|
||||||
|
<set name="price" val="1000" />
|
||||||
|
<set name="handler" val="SoulShots" />
|
||||||
|
<set name="item_skill" val="9193-1" />
|
||||||
</item>
|
</item>
|
||||||
<item id="34610" name="Mysterious Blessed No-grade Spiritshot" additionalName="Event" type="EtcItem">
|
<item id="34610" name="Mysterious Blessed No-grade Spiritshot" additionalName="Event" type="EtcItem">
|
||||||
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its magic significantly. Used with No-grade weapons. -->
|
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its magic significantly. Used with No-grade weapons. -->
|
||||||
@@ -84,7 +91,16 @@
|
|||||||
<item id="34616" name="Mysterious Blessed Spiritshot (R-grade)" additionalName="Event" type="EtcItem">
|
<item id="34616" name="Mysterious Blessed Spiritshot (R-grade)" additionalName="Event" type="EtcItem">
|
||||||
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its M. Atk. significantly. Can be used with an R-grade weapon. -->
|
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its M. Atk. significantly. Can be used with an R-grade weapon. -->
|
||||||
<set name="icon" val="icon.blessed_spiritshot_r_i00" />
|
<set name="icon" val="icon.blessed_spiritshot_r_i00" />
|
||||||
|
<set name="default_action" val="SPIRITSHOT" />
|
||||||
|
<set name="immediate_effect" val="true" />
|
||||||
|
<set name="crystal_type" val="R" />
|
||||||
|
<set name="material" val="PAPER" />
|
||||||
|
<set name="weight" val="1" />
|
||||||
|
<set name="price" val="350" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="handler" val="BlessedSpiritShot" />
|
||||||
|
<set name="item_skill" val="9195-1" />
|
||||||
|
<set name="commissionItemType" val="SPIRITSHOT" />
|
||||||
</item>
|
</item>
|
||||||
<item id="34617" name="Player Commendation - Agathion's Gift" additionalName="PC-exclusive" type="EtcItem">
|
<item id="34617" name="Player Commendation - Agathion's Gift" additionalName="PC-exclusive" type="EtcItem">
|
||||||
<!-- When used, you can receive an Agathion's gift. -->
|
<!-- When used, you can receive an Agathion's gift. -->
|
||||||
|
@@ -127,7 +127,7 @@ public class EnchantItemHPBonusData implements IXmlReader
|
|||||||
*/
|
*/
|
||||||
public final int getHPBonus(L2ItemInstance item)
|
public final int getHPBonus(L2ItemInstance item)
|
||||||
{
|
{
|
||||||
final List<Integer> values = _armorHPBonuses.get(item.getItem().getItemGradeSPlus());
|
final List<Integer> values = _armorHPBonuses.get(item.getItem().getCrystalTypePlus());
|
||||||
if ((values == null) || values.isEmpty() || (item.getOlyEnchantLevel() <= 0))
|
if ((values == null) || values.isEmpty() || (item.getOlyEnchantLevel() <= 0))
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
61
trunk/java/com/l2jserver/gameserver/enums/ItemGrade.java
Normal file
61
trunk/java/com/l2jserver/gameserver/enums/ItemGrade.java
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2004-2015 L2J Server
|
||||||
|
*
|
||||||
|
* This file is part of L2J Server.
|
||||||
|
*
|
||||||
|
* L2J Server 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.
|
||||||
|
*
|
||||||
|
* L2J Server 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 com.l2jserver.gameserver.enums;
|
||||||
|
|
||||||
|
import com.l2jserver.gameserver.model.items.type.CrystalType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author UnAfraid
|
||||||
|
*/
|
||||||
|
public enum ItemGrade
|
||||||
|
{
|
||||||
|
NONE,
|
||||||
|
D,
|
||||||
|
C,
|
||||||
|
B,
|
||||||
|
A,
|
||||||
|
S,
|
||||||
|
R;
|
||||||
|
|
||||||
|
public static ItemGrade valueOf(CrystalType type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case NONE:
|
||||||
|
return NONE;
|
||||||
|
case D:
|
||||||
|
return D;
|
||||||
|
case C:
|
||||||
|
return C;
|
||||||
|
case B:
|
||||||
|
return B;
|
||||||
|
case A:
|
||||||
|
return A;
|
||||||
|
case S:
|
||||||
|
case S80:
|
||||||
|
case S84:
|
||||||
|
return S;
|
||||||
|
case R:
|
||||||
|
case R95:
|
||||||
|
case R99:
|
||||||
|
return R;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@@ -41,11 +41,6 @@ public class Hit
|
|||||||
addMask(AttackType.MISSED);
|
addMask(AttackType.MISSED);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (target.isInvul() || (shld > 0))
|
|
||||||
{
|
|
||||||
addMask(AttackType.BLOCKED);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (crit)
|
if (crit)
|
||||||
{
|
{
|
||||||
@@ -56,6 +51,11 @@ public class Hit
|
|||||||
{
|
{
|
||||||
addMask(AttackType.SHOT_USED);
|
addMask(AttackType.SHOT_USED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (target.isInvul() || (shld > 0))
|
||||||
|
{
|
||||||
|
addMask(AttackType.BLOCKED);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addMask(AttackType type)
|
private void addMask(AttackType type)
|
||||||
|
@@ -1090,7 +1090,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
|||||||
// the hit is calculated to happen halfway to the animation - might need further tuning e.g. in bow case
|
// the hit is calculated to happen halfway to the animation - might need further tuning e.g. in bow case
|
||||||
final int timeToHit = timeAtk / 2;
|
final int timeToHit = timeAtk / 2;
|
||||||
_attackEndTime = System.currentTimeMillis() + timeAtk;
|
_attackEndTime = System.currentTimeMillis() + timeAtk;
|
||||||
final int ssGrade = (weaponItem != null) ? weaponItem.getItemGradeSPlus().getId() : 0;
|
final int ssGrade = (weaponItem != null) ? weaponItem.getItemGrade().ordinal() : 0;
|
||||||
// Create a Server->Client packet Attack
|
// Create a Server->Client packet Attack
|
||||||
Attack attack = new Attack(this, target, wasSSCharged, ssGrade);
|
Attack attack = new Attack(this, target, wasSSCharged, ssGrade);
|
||||||
|
|
||||||
@@ -2628,7 +2628,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
|||||||
{
|
{
|
||||||
if (_ai == null)
|
if (_ai == null)
|
||||||
{
|
{
|
||||||
_ai = initAI();
|
return _ai = initAI();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1749,7 +1749,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (L2ItemInstance item : getItems())
|
for (L2ItemInstance item : getItems())
|
||||||
{
|
{
|
||||||
if (item.isEtcItem() && (item.getItem().getItemGradeSPlus() == bow.getItemGradeSPlus()) && (item.getEtcItem().getItemType() == EtcItemType.ARROW))
|
if (item.isEtcItem() && (item.getItem().getCrystalTypePlus() == bow.getCrystalTypePlus()) && (item.getEtcItem().getItemType() == EtcItemType.ARROW))
|
||||||
{
|
{
|
||||||
arrow = item;
|
arrow = item;
|
||||||
break;
|
break;
|
||||||
@@ -1771,7 +1771,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (L2ItemInstance item : getItems())
|
for (L2ItemInstance item : getItems())
|
||||||
{
|
{
|
||||||
if (item.isEtcItem() && (item.getItem().getItemGradeSPlus() == crossbow.getItemGradeSPlus()) && (item.getEtcItem().getItemType() == EtcItemType.BOLT))
|
if (item.isEtcItem() && (item.getItem().getCrystalTypePlus() == crossbow.getCrystalTypePlus()) && (item.getEtcItem().getItemType() == EtcItemType.BOLT))
|
||||||
{
|
{
|
||||||
bolt = item;
|
bolt = item;
|
||||||
break;
|
break;
|
||||||
|
@@ -26,6 +26,7 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import com.l2jserver.Config;
|
import com.l2jserver.Config;
|
||||||
import com.l2jserver.gameserver.datatables.ItemTable;
|
import com.l2jserver.gameserver.datatables.ItemTable;
|
||||||
|
import com.l2jserver.gameserver.enums.ItemGrade;
|
||||||
import com.l2jserver.gameserver.model.Elementals;
|
import com.l2jserver.gameserver.model.Elementals;
|
||||||
import com.l2jserver.gameserver.model.L2Object;
|
import com.l2jserver.gameserver.model.L2Object;
|
||||||
import com.l2jserver.gameserver.model.PcCondOverride;
|
import com.l2jserver.gameserver.model.PcCondOverride;
|
||||||
@@ -388,6 +389,14 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable
|
|||||||
return (_crystalType != CrystalType.NONE) && (_crystalCount > 0);
|
return (_crystalType != CrystalType.NONE) && (_crystalCount > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return return General item grade (No S80, S84, R95, R99)
|
||||||
|
*/
|
||||||
|
public ItemGrade getItemGrade()
|
||||||
|
{
|
||||||
|
return ItemGrade.valueOf(_crystalType);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the type of crystal if item is crystallizable
|
* Return the type of crystal if item is crystallizable
|
||||||
* @return CrystalType
|
* @return CrystalType
|
||||||
@@ -407,30 +416,21 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the grade of the item.<BR>
|
* For grades S80 and S84 return S, R95, and R99 return R
|
||||||
* <BR>
|
|
||||||
* <U><I>Concept :</I></U><BR>
|
|
||||||
* In fact, this function returns the type of crystal of the item.
|
|
||||||
* @return CrystalType
|
|
||||||
*/
|
|
||||||
public final CrystalType getItemGrade()
|
|
||||||
{
|
|
||||||
return getCrystalType();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* For grades S80 and S84 return S
|
|
||||||
* @return the grade of the item.
|
* @return the grade of the item.
|
||||||
*/
|
*/
|
||||||
public final CrystalType getItemGradeSPlus()
|
public final CrystalType getCrystalTypePlus()
|
||||||
{
|
{
|
||||||
switch (getItemGrade())
|
switch (_crystalType)
|
||||||
{
|
{
|
||||||
case S80:
|
case S80:
|
||||||
case S84:
|
case S84:
|
||||||
return CrystalType.S;
|
return CrystalType.S;
|
||||||
|
case R95:
|
||||||
|
case R99:
|
||||||
|
return CrystalType.R;
|
||||||
default:
|
default:
|
||||||
return getItemGrade();
|
return _crystalType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -77,7 +77,7 @@ public class L2WarehouseItem
|
|||||||
_enchant = item.getEnchantLevel();
|
_enchant = item.getEnchantLevel();
|
||||||
_customType1 = item.getCustomType1();
|
_customType1 = item.getCustomType1();
|
||||||
_customType2 = item.getCustomType2();
|
_customType2 = item.getCustomType2();
|
||||||
_grade = item.getItem().getItemGrade();
|
_grade = item.getItem().getCrystalType();
|
||||||
if (item.isAugmented())
|
if (item.isAugmented())
|
||||||
{
|
{
|
||||||
_isAugmented = true;
|
_isAugmented = true;
|
||||||
|
@@ -137,7 +137,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (_grade != itemToEnchant.getItem().getItemGradeSPlus())
|
else if (_grade != itemToEnchant.getItem().getCrystalTypePlus())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -80,7 +80,7 @@ public class FuncEnchant extends AbstractFunction
|
|||||||
|
|
||||||
if (getStat() == Stats.MAGIC_ATTACK)
|
if (getStat() == Stats.MAGIC_ATTACK)
|
||||||
{
|
{
|
||||||
switch (item.getItem().getItemGradeSPlus())
|
switch (item.getItem().getCrystalTypePlus())
|
||||||
{
|
{
|
||||||
case S:
|
case S:
|
||||||
// M. Atk. increases by 4 for all weapons.
|
// M. Atk. increases by 4 for all weapons.
|
||||||
@@ -107,7 +107,7 @@ public class FuncEnchant extends AbstractFunction
|
|||||||
if (item.isWeapon())
|
if (item.isWeapon())
|
||||||
{
|
{
|
||||||
final WeaponType type = (WeaponType) item.getItemType();
|
final WeaponType type = (WeaponType) item.getItemType();
|
||||||
switch (item.getItem().getItemGradeSPlus())
|
switch (item.getItem().getCrystalTypePlus())
|
||||||
{
|
{
|
||||||
case S:
|
case S:
|
||||||
if (item.getWeaponItem().getBodyPart() == L2Item.SLOT_LR_HAND)
|
if (item.getWeaponItem().getBodyPart() == L2Item.SLOT_LR_HAND)
|
||||||
|
@@ -227,7 +227,7 @@ public abstract class AbstractRefinePacket extends L2GameClientPacket
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
final CrystalType grade = item.getItem().getItemGrade();
|
final CrystalType grade = item.getItem().getCrystalType();
|
||||||
final LifeStone ls = _lifeStones.get(refinerItem.getId());
|
final LifeStone ls = _lifeStones.get(refinerItem.getId());
|
||||||
|
|
||||||
// Check for item id
|
// Check for item id
|
||||||
|
@@ -141,7 +141,7 @@ public final class RequestAutoSoulShot extends L2GameClientPacket
|
|||||||
{
|
{
|
||||||
final boolean isSoulshot = (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) || (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT);
|
final boolean isSoulshot = (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) || (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT);
|
||||||
final boolean isSpiritshot = item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT;
|
final boolean isSpiritshot = item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT;
|
||||||
if ((activeChar.getActiveWeaponItem() == activeChar.getFistsWeaponItem()) || (item.getItem().getCrystalType() != activeChar.getActiveWeaponItem().getItemGradeSPlus()))
|
if ((activeChar.getActiveWeaponItem() == activeChar.getFistsWeaponItem()) || (item.getItem().getCrystalType() != activeChar.getActiveWeaponItem().getCrystalTypePlus()))
|
||||||
{
|
{
|
||||||
activeChar.sendPacket(isSoulshot ? SystemMessageId.THE_SOULSHOT_YOU_ARE_ATTEMPTING_TO_USE_DOES_NOT_MATCH_THE_GRADE_OF_YOUR_EQUIPPED_WEAPON : SystemMessageId.YOUR_SPIRITSHOT_DOES_NOT_MATCH_THE_WEAPON_S_GRADE);
|
activeChar.sendPacket(isSoulshot ? SystemMessageId.THE_SOULSHOT_YOU_ARE_ATTEMPTING_TO_USE_DOES_NOT_MATCH_THE_GRADE_OF_YOUR_EQUIPPED_WEAPON : SystemMessageId.YOUR_SPIRITSHOT_DOES_NOT_MATCH_THE_WEAPON_S_GRADE);
|
||||||
return;
|
return;
|
||||||
|
@@ -82,7 +82,7 @@ public final class RequestConfirmGemStone extends AbstractRefinePacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_gemStoneCount != getGemStoneCount(targetItem.getItem().getItemGrade(), ls.getGrade()))
|
if (_gemStoneCount != getGemStoneCount(targetItem.getItem().getCrystalType(), ls.getGrade()))
|
||||||
{
|
{
|
||||||
activeChar.sendPacket(SystemMessageId.GEMSTONE_QUANTITY_IS_INCORRECT);
|
activeChar.sendPacket(SystemMessageId.GEMSTONE_QUANTITY_IS_INCORRECT);
|
||||||
return;
|
return;
|
||||||
|
@@ -70,7 +70,7 @@ public class RequestConfirmRefinerItem extends AbstractRefinePacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
final int refinerItemId = refinerItem.getItem().getId();
|
final int refinerItemId = refinerItem.getItem().getId();
|
||||||
final CrystalType grade = targetItem.getItem().getItemGrade();
|
final CrystalType grade = targetItem.getItem().getCrystalType();
|
||||||
final LifeStone ls = getLifeStone(refinerItemId);
|
final LifeStone ls = getLifeStone(refinerItemId);
|
||||||
final int gemStoneId = getGemStoneId(grade);
|
final int gemStoneId = getGemStoneId(grade);
|
||||||
final int gemStoneCount = getGemStoneCount(grade, ls.getGrade());
|
final int gemStoneCount = getGemStoneCount(grade, ls.getGrade());
|
||||||
|
@@ -141,7 +141,7 @@ public final class RequestCrystallizeItem extends L2GameClientPacket
|
|||||||
// Check if the char can crystallize items and return if false;
|
// Check if the char can crystallize items and return if false;
|
||||||
boolean canCrystallize = true;
|
boolean canCrystallize = true;
|
||||||
|
|
||||||
switch (itemToRemove.getItem().getItemGradeSPlus())
|
switch (itemToRemove.getItem().getCrystalTypePlus())
|
||||||
{
|
{
|
||||||
case D:
|
case D:
|
||||||
{
|
{
|
||||||
|
@@ -87,7 +87,7 @@ public final class RequestRefine extends AbstractRefinePacket
|
|||||||
|
|
||||||
final int lifeStoneLevel = ls.getLevel();
|
final int lifeStoneLevel = ls.getLevel();
|
||||||
final int lifeStoneGrade = ls.getGrade();
|
final int lifeStoneGrade = ls.getGrade();
|
||||||
if (_gemStoneCount != getGemStoneCount(targetItem.getItem().getItemGrade(), lifeStoneGrade))
|
if (_gemStoneCount != getGemStoneCount(targetItem.getItem().getCrystalType(), lifeStoneGrade))
|
||||||
{
|
{
|
||||||
activeChar.sendPacket(new ExVariationResult(0, 0, 0));
|
activeChar.sendPacket(new ExVariationResult(0, 0, 0));
|
||||||
activeChar.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
|
activeChar.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
|
||||||
|
@@ -120,7 +120,7 @@ public class RequestCrystallizeEstimate extends L2GameClientPacket
|
|||||||
// Check if the char can crystallize items and return if false;
|
// Check if the char can crystallize items and return if false;
|
||||||
boolean canCrystallize = true;
|
boolean canCrystallize = true;
|
||||||
|
|
||||||
switch (item.getItem().getItemGradeSPlus())
|
switch (item.getItem().getCrystalTypePlus())
|
||||||
{
|
{
|
||||||
case D:
|
case D:
|
||||||
{
|
{
|
||||||
|
@@ -61,7 +61,7 @@ public class ExQuestNpcLogList extends L2GameServerPacket
|
|||||||
writeC(_npcLogList.size());
|
writeC(_npcLogList.size());
|
||||||
for (NpcLogListHolder holder : _npcLogList)
|
for (NpcLogListHolder holder : _npcLogList)
|
||||||
{
|
{
|
||||||
writeD((holder.getId()));
|
writeD(holder.getId());
|
||||||
writeC(holder.isNpcString() ? 0x01 : 0x00);
|
writeC(holder.isNpcString() ? 0x01 : 0x00);
|
||||||
writeD(holder.getCount());
|
writeD(holder.getCount());
|
||||||
}
|
}
|
||||||
|
@@ -324,7 +324,7 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
|
|||||||
writeC(_activeChar.getInventory().getTalismanSlots()); // Confirmed
|
writeC(_activeChar.getInventory().getTalismanSlots()); // Confirmed
|
||||||
writeC(_activeChar.getInventory().getBroochJewelSlots()); // Confirmed
|
writeC(_activeChar.getInventory().getBroochJewelSlots()); // Confirmed
|
||||||
writeC(_activeChar.getTeam().getId()); // Confirmed
|
writeC(_activeChar.getTeam().getId()); // Confirmed
|
||||||
writeC(0x00); // Red dotted ring on the floor
|
writeC(0x00); // (1 = Red, 2 = White, 3 = White Pink) dotted ring on the floor
|
||||||
writeC(0x00);
|
writeC(0x00);
|
||||||
writeC(0x00);
|
writeC(0x00);
|
||||||
writeC(0x00);
|
writeC(0x00);
|
||||||
|
Reference in New Issue
Block a user