Retail behavior for premium hennas.
This commit is contained in:
@@ -39,6 +39,5 @@ EnablePremiumHennaSlot = True
|
||||
|
||||
# Draw any henna at premium slot.
|
||||
# Also premium henna drawn at normal slots.
|
||||
# Premium Henna ids are 23825 to 23830.
|
||||
# Retail: False
|
||||
EnableAnyHennaAtPremiumSlot = False
|
||||
|
||||
@@ -90,10 +90,24 @@
|
||||
<item id="17712" price="0" /> <!-- Lv. 5 Legendary INT Dye -->
|
||||
<item id="17713" price="0" /> <!-- Lv. 5 Legendary WIT Dye -->
|
||||
<item id="17714" price="0" /> <!-- Lv. 5 Legendary MEN Dye -->
|
||||
<item id="23825" price="0" /> <!-- Mysterious Human-->
|
||||
<item id="23829" price="0" /> <!-- Mysterious Dwarf-->
|
||||
<item id="23830" price="0" /> <!-- Mysterious Kamael-->
|
||||
<item id="23827" price="0" /> <!-- Mysterious Dark Elf-->
|
||||
<item id="23826" price="0" /> <!-- Mysterious Elf-->
|
||||
<item id="23828" price="0" /> <!-- Mysterious Orc-->
|
||||
<item id="23825" price="0" /> <!-- Mysterious Human Dye, 7 day -->
|
||||
<item id="23829" price="0" /> <!-- Mysterious Dwarf Dye, 7 day -->
|
||||
<item id="23830" price="0" /> <!-- Mysterious Kamael Dye, 7 day -->
|
||||
<item id="23827" price="0" /> <!-- Mysterious Dark Elf Dye, 7 day -->
|
||||
<item id="23826" price="0" /> <!-- Mysterious Elf Dye, 7 day -->
|
||||
<item id="23828" price="0" /> <!-- Mysterious Orc Dye, 7 day -->
|
||||
<item id="23905" price="0" /> <!-- Mysterious Wind Resistance Dye, 7 day -->
|
||||
<item id="23902" price="0" /> <!-- Mysterious Holy Resistance Dye, 7 day -->
|
||||
<item id="23903" price="0" /> <!-- Mysterious Fire Resistance Dye, 7 day -->
|
||||
<item id="23901" price="0" /> <!-- Mysterious Dark Resistance Dye, 7 day -->
|
||||
<item id="23906" price="0" /> <!-- Mysterious Earth Resistance Dye, 7 day -->
|
||||
<item id="23904" price="0" /> <!-- Mysterious Water Resistance Dye, 7 day -->
|
||||
<item id="23907" price="0" /> <!-- Mysterious Abnormal State Resistance Dye, 7 day -->
|
||||
<item id="23908" price="0" /> <!-- Mysterious Invisibility Boost Dye, 7 day -->
|
||||
<item id="23911" price="0" /> <!-- Mysterious Valakas Defence Dye, 7 day -->
|
||||
<item id="23909" price="0" /> <!-- Mysterious World Boss Defence Dye, 7 day -->
|
||||
<item id="23910" price="0" /> <!-- Mysterious Antharas Defence Dye, 7 day -->
|
||||
<item id="23912" price="0" /> <!-- Mysterious Lindvior Defence Dye, 7 day -->
|
||||
<item id="23845" price="0" /> <!-- Mysterious Hunt Dye, 1 day -->
|
||||
<item id="23846" price="0" /> <!-- Mysterious Slaughter Dye, 1 day -->
|
||||
</list>
|
||||
|
||||
@@ -20289,9 +20289,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_human" dyeId="500" dyeItemId="23825" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_human" dyeId="500" dyeItemId="23825" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21358" level="1" />
|
||||
<skill id="21402" level="1" />
|
||||
@@ -20332,9 +20332,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_elf" dyeId="501" dyeItemId="23826" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_elf" dyeId="501" dyeItemId="23826" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21359" level="1"/>
|
||||
<skill id="21403" level="1"/>
|
||||
@@ -20375,9 +20375,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_darkelf" dyeId="502" dyeItemId="23827" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_darkelf" dyeId="502" dyeItemId="23827" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21360" level="1"/>
|
||||
<skill id="21404" level="1"/>
|
||||
@@ -20418,9 +20418,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_orcs" dyeId="503" dyeItemId="23828" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_orcs" dyeId="503" dyeItemId="23828" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21361" level="1"/>
|
||||
<skill id="21405" level="1"/>
|
||||
@@ -20461,9 +20461,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_dwarf" dyeId="504" dyeItemId="23829" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_dwarf" dyeId="504" dyeItemId="23829" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21362" level="1"/>
|
||||
<skill id="21406" level="1"/>
|
||||
@@ -20504,9 +20504,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_kamael" dyeId="505" dyeItemId="23830" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_kamael" dyeId="505" dyeItemId="23830" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21363" level="1"/>
|
||||
<skill id="21407" level="1"/>
|
||||
@@ -20547,9 +20547,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_hunt" dyeId="506" dyeItemId="23845" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_hunt" dyeId="506" dyeItemId="23845" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21366" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20589,9 +20589,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="507" dyeItemId="23846" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="507" dyeItemId="23846" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21367" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20631,9 +20631,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="508" dyeItemId="23901" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="508" dyeItemId="23901" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21389" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20673,9 +20673,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="509" dyeItemId="23902" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="509" dyeItemId="23902" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21390" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20715,9 +20715,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="510" dyeItemId="23903" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="510" dyeItemId="23903" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21391" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20757,9 +20757,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="511" dyeItemId="23904" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="511" dyeItemId="23904" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21392" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20799,9 +20799,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="512" dyeItemId="23905" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="512" dyeItemId="23905" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21393" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20841,9 +20841,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="513" dyeItemId="23906" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="513" dyeItemId="23906" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21394" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20883,9 +20883,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="514" dyeItemId="23907" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="514" dyeItemId="23907" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21395" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20925,9 +20925,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="515" dyeItemId="23908" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="515" dyeItemId="23908" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21396" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20967,9 +20967,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="516" dyeItemId="23909" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="516" dyeItemId="23909" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21397" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -21009,9 +21009,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="517" dyeItemId="23910" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="517" dyeItemId="23910" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21398" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -21051,9 +21051,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="518" dyeItemId="23911" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="518" dyeItemId="23911" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21399" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -21093,9 +21093,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="519" dyeItemId="23912" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="519" dyeItemId="23912" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21400" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
<xs:attribute name="dyeName" type="xs:token" />
|
||||
<xs:attribute name="dyeItemId" type="xs:positiveInteger" />
|
||||
<xs:attribute name="dyeLevel" type="xs:positiveInteger" />
|
||||
<xs:attribute name="isPremium" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
|
||||
@@ -66,10 +66,6 @@ public class PremiumManager
|
||||
{
|
||||
player.setPremiumStatus(false);
|
||||
player.sendPacket(new ExBrPremiumState(player));
|
||||
if (player.getHenna(4) != null)
|
||||
{
|
||||
player.removeHenna(4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,10 +91,6 @@ public class PremiumManager
|
||||
{
|
||||
startExpireTask(player, premiumExpiration - now);
|
||||
}
|
||||
else if (player.getHenna(4) != null)
|
||||
{
|
||||
player.removeHenna(4);
|
||||
}
|
||||
};
|
||||
|
||||
private final Consumer<OnPlayerLogout> playerLogoutEvent = (event) ->
|
||||
@@ -211,10 +203,6 @@ public class PremiumManager
|
||||
playerOnline.setPremiumStatus(false);
|
||||
playerOnline.sendPacket(new ExBrPremiumState(playerOnline));
|
||||
stopExpireTask(playerOnline);
|
||||
if (playerOnline.getHenna(4) != null)
|
||||
{
|
||||
playerOnline.removeHenna(4);
|
||||
}
|
||||
}
|
||||
|
||||
// UPDATE CACHE
|
||||
|
||||
@@ -7945,12 +7945,12 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
if (i == 4)
|
||||
{
|
||||
if ((_henna[3] != null) || (henna.getDyeItemId() < 23825) || (henna.getDyeItemId() > 23830))
|
||||
if ((_henna[3] != null) || !henna.isPremium())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if ((henna.getDyeItemId() > 23824) && (henna.getDyeItemId() < 23831))
|
||||
else if (henna.isPremium())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ public class L2Henna
|
||||
private final int _dyeId;
|
||||
private final String _dyeName;
|
||||
private final int _dyeItemId;
|
||||
private final boolean _isPremium;
|
||||
private final Map<BaseStats, Integer> _baseStats = new HashMap<>();
|
||||
private final int _wear_fee;
|
||||
private final int _wear_count;
|
||||
@@ -50,6 +51,7 @@ public class L2Henna
|
||||
_dyeId = set.getInt("dyeId");
|
||||
_dyeName = set.getString("dyeName");
|
||||
_dyeItemId = set.getInt("dyeItemId");
|
||||
_isPremium = set.getBoolean("isPremium", false);
|
||||
_baseStats.put(BaseStats.STR, set.getInt("str", 0));
|
||||
_baseStats.put(BaseStats.CON, set.getInt("con", 0));
|
||||
_baseStats.put(BaseStats.DEX, set.getInt("dex", 0));
|
||||
@@ -91,6 +93,14 @@ public class L2Henna
|
||||
return _dyeItemId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if this dye is premium.
|
||||
*/
|
||||
public boolean isPremium()
|
||||
{
|
||||
return _isPremium;
|
||||
}
|
||||
|
||||
public int getBaseStats(Stats stat)
|
||||
{
|
||||
return _baseStats.getOrDefault(stat, 0);
|
||||
|
||||
@@ -358,14 +358,7 @@ public class EnterWorld implements IClientIncomingPacket
|
||||
// activeChar.queryGameGuard();
|
||||
|
||||
// Send Dye Information
|
||||
if (!Config.PREMIUM_SYSTEM_ENABLED && (activeChar.getHenna(4) != null))
|
||||
{
|
||||
activeChar.removeHenna(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
activeChar.sendPacket(new HennaInfo(activeChar));
|
||||
}
|
||||
activeChar.sendPacket(new HennaInfo(activeChar));
|
||||
|
||||
// Send Skill list
|
||||
activeChar.sendSkillList();
|
||||
|
||||
@@ -39,6 +39,5 @@ EnablePremiumHennaSlot = True
|
||||
|
||||
# Draw any henna at premium slot.
|
||||
# Also premium henna drawn at normal slots.
|
||||
# Premium Henna ids are 23825 to 23830.
|
||||
# Retail: False
|
||||
EnableAnyHennaAtPremiumSlot = False
|
||||
|
||||
@@ -90,10 +90,25 @@
|
||||
<item id="17712" price="0" /> <!-- Lv. 5 Legendary INT Dye -->
|
||||
<item id="17713" price="0" /> <!-- Lv. 5 Legendary WIT Dye -->
|
||||
<item id="17714" price="0" /> <!-- Lv. 5 Legendary MEN Dye -->
|
||||
<item id="23825" price="0" /> <!-- Mysterious Human-->
|
||||
<item id="23829" price="0" /> <!-- Mysterious Dwarf-->
|
||||
<item id="23830" price="0" /> <!-- Mysterious Kamael-->
|
||||
<item id="23827" price="0" /> <!-- Mysterious Dark Elf-->
|
||||
<item id="23826" price="0" /> <!-- Mysterious Elf-->
|
||||
<item id="23828" price="0" /> <!-- Mysterious Orc-->
|
||||
<item id="23825" price="0" /> <!-- Mysterious Human Dye, 7 day -->
|
||||
<item id="23829" price="0" /> <!-- Mysterious Dwarf Dye, 7 day -->
|
||||
<item id="23830" price="0" /> <!-- Mysterious Kamael Dye, 7 day -->
|
||||
<item id="23827" price="0" /> <!-- Mysterious Dark Elf Dye, 7 day -->
|
||||
<item id="23826" price="0" /> <!-- Mysterious Elf Dye, 7 day -->
|
||||
<item id="23828" price="0" /> <!-- Mysterious Orc Dye, 7 day -->
|
||||
<item id="23905" price="0" /> <!-- Mysterious Wind Resistance Dye, 7 day -->
|
||||
<item id="23902" price="0" /> <!-- Mysterious Holy Resistance Dye, 7 day -->
|
||||
<item id="23903" price="0" /> <!-- Mysterious Fire Resistance Dye, 7 day -->
|
||||
<item id="23901" price="0" /> <!-- Mysterious Dark Resistance Dye, 7 day -->
|
||||
<item id="23906" price="0" /> <!-- Mysterious Earth Resistance Dye, 7 day -->
|
||||
<item id="23904" price="0" /> <!-- Mysterious Water Resistance Dye, 7 day -->
|
||||
<item id="23907" price="0" /> <!-- Mysterious Abnormal State Resistance Dye, 7 day -->
|
||||
<item id="23908" price="0" /> <!-- Mysterious Invisibility Boost Dye, 7 day -->
|
||||
<item id="23911" price="0" /> <!-- Mysterious Valakas Defence Dye, 7 day -->
|
||||
<item id="23909" price="0" /> <!-- Mysterious World Boss Defence Dye, 7 day -->
|
||||
<item id="23910" price="0" /> <!-- Mysterious Antharas Defence Dye, 7 day -->
|
||||
<item id="23912" price="0" /> <!-- Mysterious Lindvior Defence Dye, 7 day -->
|
||||
<item id="27541" price="0" /> <!-- Mysterious Abnormal State Resistance Dye, 30 day -->
|
||||
<item id="23845" price="0" /> <!-- Mysterious Hunt Dye, 1 day -->
|
||||
<item id="23846" price="0" /> <!-- Mysterious Slaughter Dye, 1 day -->
|
||||
</list>
|
||||
|
||||
@@ -20289,9 +20289,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_human" dyeId="500" dyeItemId="23825" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_human" dyeId="500" dyeItemId="23825" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21358" level="1" />
|
||||
<skill id="21402" level="1" />
|
||||
@@ -20332,9 +20332,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_elf" dyeId="501" dyeItemId="23826" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_elf" dyeId="501" dyeItemId="23826" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21359" level="1"/>
|
||||
<skill id="21403" level="1"/>
|
||||
@@ -20375,9 +20375,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_darkelf" dyeId="502" dyeItemId="23827" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_darkelf" dyeId="502" dyeItemId="23827" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21360" level="1"/>
|
||||
<skill id="21404" level="1"/>
|
||||
@@ -20418,9 +20418,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_orcs" dyeId="503" dyeItemId="23828" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_orcs" dyeId="503" dyeItemId="23828" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21361" level="1"/>
|
||||
<skill id="21405" level="1"/>
|
||||
@@ -20461,9 +20461,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_dwarf" dyeId="504" dyeItemId="23829" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_dwarf" dyeId="504" dyeItemId="23829" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21362" level="1"/>
|
||||
<skill id="21406" level="1"/>
|
||||
@@ -20504,9 +20504,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_kamael" dyeId="505" dyeItemId="23830" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_kamael" dyeId="505" dyeItemId="23830" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21363" level="1"/>
|
||||
<skill id="21407" level="1"/>
|
||||
@@ -20547,9 +20547,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_hunt" dyeId="506" dyeItemId="23845" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_hunt" dyeId="506" dyeItemId="23845" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21366" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20589,9 +20589,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="507" dyeItemId="23846" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="507" dyeItemId="23846" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21367" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20631,9 +20631,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="508" dyeItemId="23901" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="508" dyeItemId="23901" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21389" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20673,9 +20673,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="509" dyeItemId="23902" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="509" dyeItemId="23902" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21390" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20715,9 +20715,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="510" dyeItemId="23903" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="510" dyeItemId="23903" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21391" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20757,9 +20757,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="511" dyeItemId="23904" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="511" dyeItemId="23904" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21392" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20799,9 +20799,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="512" dyeItemId="23905" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="512" dyeItemId="23905" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21393" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20841,9 +20841,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="513" dyeItemId="23906" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="513" dyeItemId="23906" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21394" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20883,9 +20883,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="514" dyeItemId="23907" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="514" dyeItemId="23907" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21395" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20925,9 +20925,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="515" dyeItemId="23908" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="515" dyeItemId="23908" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21396" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20967,9 +20967,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="516" dyeItemId="23909" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="516" dyeItemId="23909" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21397" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -21009,9 +21009,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="517" dyeItemId="23910" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="517" dyeItemId="23910" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21398" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -21051,9 +21051,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="518" dyeItemId="23911" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="518" dyeItemId="23911" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21399" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -21093,9 +21093,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="519" dyeItemId="23912" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="519" dyeItemId="23912" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21400" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
<xs:attribute name="dyeName" type="xs:token" />
|
||||
<xs:attribute name="dyeItemId" type="xs:positiveInteger" />
|
||||
<xs:attribute name="dyeLevel" type="xs:positiveInteger" />
|
||||
<xs:attribute name="isPremium" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
|
||||
@@ -66,10 +66,6 @@ public class PremiumManager
|
||||
{
|
||||
player.setPremiumStatus(false);
|
||||
player.sendPacket(new ExBrPremiumState(player));
|
||||
if (player.getHenna(4) != null)
|
||||
{
|
||||
player.removeHenna(4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,10 +91,6 @@ public class PremiumManager
|
||||
{
|
||||
startExpireTask(player, premiumExpiration - now);
|
||||
}
|
||||
else if (player.getHenna(4) != null)
|
||||
{
|
||||
player.removeHenna(4);
|
||||
}
|
||||
};
|
||||
|
||||
private final Consumer<OnPlayerLogout> playerLogoutEvent = (event) ->
|
||||
@@ -211,10 +203,6 @@ public class PremiumManager
|
||||
playerOnline.setPremiumStatus(false);
|
||||
playerOnline.sendPacket(new ExBrPremiumState(playerOnline));
|
||||
stopExpireTask(playerOnline);
|
||||
if (playerOnline.getHenna(4) != null)
|
||||
{
|
||||
playerOnline.removeHenna(4);
|
||||
}
|
||||
}
|
||||
|
||||
// UPDATE CACHE
|
||||
|
||||
@@ -7945,12 +7945,12 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
if (i == 4)
|
||||
{
|
||||
if ((_henna[3] != null) || (henna.getDyeItemId() < 23825) || (henna.getDyeItemId() > 23830))
|
||||
if ((_henna[3] != null) || !henna.isPremium())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if ((henna.getDyeItemId() > 23824) && (henna.getDyeItemId() < 23831))
|
||||
else if (henna.isPremium())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ public class L2Henna
|
||||
private final int _dyeId;
|
||||
private final String _dyeName;
|
||||
private final int _dyeItemId;
|
||||
private final boolean _isPremium;
|
||||
private final Map<BaseStats, Integer> _baseStats = new HashMap<>();
|
||||
private final int _wear_fee;
|
||||
private final int _wear_count;
|
||||
@@ -50,6 +51,7 @@ public class L2Henna
|
||||
_dyeId = set.getInt("dyeId");
|
||||
_dyeName = set.getString("dyeName");
|
||||
_dyeItemId = set.getInt("dyeItemId");
|
||||
_isPremium = set.getBoolean("isPremium", false);
|
||||
_baseStats.put(BaseStats.STR, set.getInt("str", 0));
|
||||
_baseStats.put(BaseStats.CON, set.getInt("con", 0));
|
||||
_baseStats.put(BaseStats.DEX, set.getInt("dex", 0));
|
||||
@@ -91,6 +93,14 @@ public class L2Henna
|
||||
return _dyeItemId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if this dye is premium.
|
||||
*/
|
||||
public boolean isPremium()
|
||||
{
|
||||
return _isPremium;
|
||||
}
|
||||
|
||||
public int getBaseStats(Stats stat)
|
||||
{
|
||||
return _baseStats.getOrDefault(stat, 0);
|
||||
|
||||
@@ -361,14 +361,7 @@ public class EnterWorld implements IClientIncomingPacket
|
||||
// activeChar.queryGameGuard();
|
||||
|
||||
// Send Dye Information
|
||||
if (!Config.PREMIUM_SYSTEM_ENABLED && (activeChar.getHenna(4) != null))
|
||||
{
|
||||
activeChar.removeHenna(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
activeChar.sendPacket(new HennaInfo(activeChar));
|
||||
}
|
||||
activeChar.sendPacket(new HennaInfo(activeChar));
|
||||
|
||||
// Send Skill list
|
||||
activeChar.sendSkillList();
|
||||
|
||||
@@ -39,6 +39,5 @@ EnablePremiumHennaSlot = True
|
||||
|
||||
# Draw any henna at premium slot.
|
||||
# Also premium henna drawn at normal slots.
|
||||
# Premium Henna ids are 23825 to 23830.
|
||||
# Retail: False
|
||||
EnableAnyHennaAtPremiumSlot = False
|
||||
|
||||
@@ -90,10 +90,25 @@
|
||||
<item id="17712" price="0" /> <!-- Lv. 5 Legendary INT Dye -->
|
||||
<item id="17713" price="0" /> <!-- Lv. 5 Legendary WIT Dye -->
|
||||
<item id="17714" price="0" /> <!-- Lv. 5 Legendary MEN Dye -->
|
||||
<item id="23825" price="0" /> <!-- Mysterious Human-->
|
||||
<item id="23829" price="0" /> <!-- Mysterious Dwarf-->
|
||||
<item id="23830" price="0" /> <!-- Mysterious Kamael-->
|
||||
<item id="23827" price="0" /> <!-- Mysterious Dark Elf-->
|
||||
<item id="23826" price="0" /> <!-- Mysterious Elf-->
|
||||
<item id="23828" price="0" /> <!-- Mysterious Orc-->
|
||||
<item id="23825" price="0" /> <!-- Mysterious Human Dye, 7 day -->
|
||||
<item id="23829" price="0" /> <!-- Mysterious Dwarf Dye, 7 day -->
|
||||
<item id="23830" price="0" /> <!-- Mysterious Kamael Dye, 7 day -->
|
||||
<item id="23827" price="0" /> <!-- Mysterious Dark Elf Dye, 7 day -->
|
||||
<item id="23826" price="0" /> <!-- Mysterious Elf Dye, 7 day -->
|
||||
<item id="23828" price="0" /> <!-- Mysterious Orc Dye, 7 day -->
|
||||
<item id="23905" price="0" /> <!-- Mysterious Wind Resistance Dye, 7 day -->
|
||||
<item id="23902" price="0" /> <!-- Mysterious Holy Resistance Dye, 7 day -->
|
||||
<item id="23903" price="0" /> <!-- Mysterious Fire Resistance Dye, 7 day -->
|
||||
<item id="23901" price="0" /> <!-- Mysterious Dark Resistance Dye, 7 day -->
|
||||
<item id="23906" price="0" /> <!-- Mysterious Earth Resistance Dye, 7 day -->
|
||||
<item id="23904" price="0" /> <!-- Mysterious Water Resistance Dye, 7 day -->
|
||||
<item id="23907" price="0" /> <!-- Mysterious Abnormal State Resistance Dye, 7 day -->
|
||||
<item id="23908" price="0" /> <!-- Mysterious Invisibility Boost Dye, 7 day -->
|
||||
<item id="23911" price="0" /> <!-- Mysterious Valakas Defence Dye, 7 day -->
|
||||
<item id="23909" price="0" /> <!-- Mysterious World Boss Defence Dye, 7 day -->
|
||||
<item id="23910" price="0" /> <!-- Mysterious Antharas Defence Dye, 7 day -->
|
||||
<item id="23912" price="0" /> <!-- Mysterious Lindvior Defence Dye, 7 day -->
|
||||
<item id="27541" price="0" /> <!-- Mysterious Abnormal State Resistance Dye, 30 day -->
|
||||
<item id="23845" price="0" /> <!-- Mysterious Hunt Dye, 1 day -->
|
||||
<item id="23846" price="0" /> <!-- Mysterious Slaughter Dye, 1 day -->
|
||||
</list>
|
||||
|
||||
@@ -20289,9 +20289,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_human" dyeId="500" dyeItemId="23825" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_human" dyeId="500" dyeItemId="23825" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21358" level="1" />
|
||||
<skill id="21402" level="1" />
|
||||
@@ -20332,9 +20332,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_elf" dyeId="501" dyeItemId="23826" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_elf" dyeId="501" dyeItemId="23826" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21359" level="1"/>
|
||||
<skill id="21403" level="1"/>
|
||||
@@ -20375,9 +20375,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_darkelf" dyeId="502" dyeItemId="23827" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_darkelf" dyeId="502" dyeItemId="23827" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21360" level="1"/>
|
||||
<skill id="21404" level="1"/>
|
||||
@@ -20418,9 +20418,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_orcs" dyeId="503" dyeItemId="23828" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_orcs" dyeId="503" dyeItemId="23828" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21361" level="1"/>
|
||||
<skill id="21405" level="1"/>
|
||||
@@ -20461,9 +20461,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_dwarf" dyeId="504" dyeItemId="23829" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_dwarf" dyeId="504" dyeItemId="23829" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21362" level="1"/>
|
||||
<skill id="21406" level="1"/>
|
||||
@@ -20504,9 +20504,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_kamael" dyeId="505" dyeItemId="23830" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_kamael" dyeId="505" dyeItemId="23830" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21363" level="1"/>
|
||||
<skill id="21407" level="1"/>
|
||||
@@ -20547,9 +20547,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_hunt" dyeId="506" dyeItemId="23845" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_hunt" dyeId="506" dyeItemId="23845" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21366" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20589,9 +20589,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="507" dyeItemId="23846" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="507" dyeItemId="23846" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21367" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20631,9 +20631,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="508" dyeItemId="23901" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="508" dyeItemId="23901" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21389" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20673,9 +20673,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="509" dyeItemId="23902" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="509" dyeItemId="23902" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21390" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20715,9 +20715,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="510" dyeItemId="23903" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="510" dyeItemId="23903" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21391" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20757,9 +20757,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="511" dyeItemId="23904" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="511" dyeItemId="23904" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21392" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20799,9 +20799,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="512" dyeItemId="23905" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="512" dyeItemId="23905" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21393" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20841,9 +20841,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="513" dyeItemId="23906" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="513" dyeItemId="23906" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21394" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20883,9 +20883,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="514" dyeItemId="23907" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="514" dyeItemId="23907" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21395" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20925,9 +20925,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="515" dyeItemId="23908" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="515" dyeItemId="23908" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21396" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -20967,9 +20967,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="516" dyeItemId="23909" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="516" dyeItemId="23909" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21397" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -21009,9 +21009,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="517" dyeItemId="23910" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="517" dyeItemId="23910" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21398" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -21051,9 +21051,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="518" dyeItemId="23911" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="518" dyeItemId="23911" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21399" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
@@ -21093,9 +21093,9 @@
|
||||
<classId>188</classId> <!-- Eviscerator -->
|
||||
<classId>189</classId> <!-- Sayha's Seer -->
|
||||
</henna>
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="519" dyeItemId="23912" dyeLevel="85">
|
||||
<wear count="1" fee="64831200" />
|
||||
<cancel count="0" fee="16207800" />
|
||||
<henna dyeName="dye_myst_slaughter" dyeId="519" dyeItemId="23912" dyeLevel="85" isPremium="true">
|
||||
<wear count="1" fee="0" />
|
||||
<cancel count="0" fee="0" />
|
||||
<duration time="10080" />
|
||||
<skill id="21400" level="1"/>
|
||||
<classId>148</classId> <!-- Sigel Pheonix Knight -->
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
<xs:attribute name="dyeName" type="xs:token" />
|
||||
<xs:attribute name="dyeItemId" type="xs:positiveInteger" />
|
||||
<xs:attribute name="dyeLevel" type="xs:positiveInteger" />
|
||||
<xs:attribute name="isPremium" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
|
||||
@@ -66,10 +66,6 @@ public class PremiumManager
|
||||
{
|
||||
player.setPremiumStatus(false);
|
||||
player.sendPacket(new ExBrPremiumState(player));
|
||||
if (player.getHenna(4) != null)
|
||||
{
|
||||
player.removeHenna(4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,10 +91,6 @@ public class PremiumManager
|
||||
{
|
||||
startExpireTask(player, premiumExpiration - now);
|
||||
}
|
||||
else if (player.getHenna(4) != null)
|
||||
{
|
||||
player.removeHenna(4);
|
||||
}
|
||||
};
|
||||
|
||||
private final Consumer<OnPlayerLogout> playerLogoutEvent = (event) ->
|
||||
@@ -211,10 +203,6 @@ public class PremiumManager
|
||||
playerOnline.setPremiumStatus(false);
|
||||
playerOnline.sendPacket(new ExBrPremiumState(playerOnline));
|
||||
stopExpireTask(playerOnline);
|
||||
if (playerOnline.getHenna(4) != null)
|
||||
{
|
||||
playerOnline.removeHenna(4);
|
||||
}
|
||||
}
|
||||
|
||||
// UPDATE CACHE
|
||||
|
||||
@@ -7947,12 +7947,12 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
if (i == 4)
|
||||
{
|
||||
if ((_henna[3] != null) || (henna.getDyeItemId() < 23825) || (henna.getDyeItemId() > 23830))
|
||||
if ((_henna[3] != null) || !henna.isPremium())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if ((henna.getDyeItemId() > 23824) && (henna.getDyeItemId() < 23831))
|
||||
else if (henna.isPremium())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ public class L2Henna
|
||||
private final int _dyeId;
|
||||
private final String _dyeName;
|
||||
private final int _dyeItemId;
|
||||
private final boolean _isPremium;
|
||||
private final Map<BaseStats, Integer> _baseStats = new HashMap<>();
|
||||
private final int _wear_fee;
|
||||
private final int _wear_count;
|
||||
@@ -50,6 +51,7 @@ public class L2Henna
|
||||
_dyeId = set.getInt("dyeId");
|
||||
_dyeName = set.getString("dyeName");
|
||||
_dyeItemId = set.getInt("dyeItemId");
|
||||
_isPremium = set.getBoolean("isPremium", false);
|
||||
_baseStats.put(BaseStats.STR, set.getInt("str", 0));
|
||||
_baseStats.put(BaseStats.CON, set.getInt("con", 0));
|
||||
_baseStats.put(BaseStats.DEX, set.getInt("dex", 0));
|
||||
@@ -91,6 +93,14 @@ public class L2Henna
|
||||
return _dyeItemId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if this dye is premium.
|
||||
*/
|
||||
public boolean isPremium()
|
||||
{
|
||||
return _isPremium;
|
||||
}
|
||||
|
||||
public int getBaseStats(Stats stat)
|
||||
{
|
||||
return _baseStats.getOrDefault(stat, 0);
|
||||
|
||||
@@ -361,14 +361,7 @@ public class EnterWorld implements IClientIncomingPacket
|
||||
// activeChar.queryGameGuard();
|
||||
|
||||
// Send Dye Information
|
||||
if (!Config.PREMIUM_SYSTEM_ENABLED && (activeChar.getHenna(4) != null))
|
||||
{
|
||||
activeChar.removeHenna(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
activeChar.sendPacket(new HennaInfo(activeChar));
|
||||
}
|
||||
activeChar.sendPacket(new HennaInfo(activeChar));
|
||||
|
||||
// Send Skill list
|
||||
activeChar.sendSkillList();
|
||||
|
||||
Reference in New Issue
Block a user