diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_DataPack/dist/game/data/scripts/handlers/EffectMasterHandler.java index 70e568fd517b7b12687b48c7b143efe64cf4616e..d97749e9d2730a0f9a7c5e9146b8e87751de60c6 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -18,14 +18,14 @@ */ package handlers; +import handlers.effecthandlers.*; + import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.gameserver.handler.EffectHandler; import com.l2jserver.gameserver.model.effects.AbstractEffect; -import handlers.effecthandlers.*; - /** * Effect Master handler. * @author BiggBoss, Zoey76 @@ -56,7 +56,6 @@ public final class EffectMasterHandler ChangeFishingMastery.class, ChangeHairColor.class, ChangeHairStyle.class, - CharmOfLuck.class, ClanGate.class, Confuse.class, ConsumeBody.class, diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/CharmOfLuck.java b/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/CharmOfLuck.java deleted file mode 100644 index 40b5edb5b66a05db2310ce5b9952c705182e43d3..0000000000000000000000000000000000000000 --- a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/CharmOfLuck.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2004-2014 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack 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 DataPack 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 handlers.effecthandlers; - -import com.l2jserver.gameserver.model.StatsSet; -import com.l2jserver.gameserver.model.conditions.Condition; -import com.l2jserver.gameserver.model.effects.AbstractEffect; -import com.l2jserver.gameserver.model.effects.EffectFlag; -import com.l2jserver.gameserver.model.effects.L2EffectType; -import com.l2jserver.gameserver.model.skills.BuffInfo; - -/** - * Charm Of Luck effect implementation. - * @author kerberos_20 - */ -public final class CharmOfLuck extends AbstractEffect -{ - public CharmOfLuck(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) - { - super(attachCond, applyCond, set, params); - } - - @Override - public boolean canStart(BuffInfo info) - { - return (info.getEffector() != null) && (info.getEffected() != null) && info.getEffected().isPlayer(); - } - - @Override - public int getEffectFlags() - { - return EffectFlag.CHARM_OF_LUCK.getMask(); - } - - @Override - public L2EffectType getEffectType() - { - return L2EffectType.CHARM_OF_LUCK; - } -} diff --git a/L2J_DataPack/dist/game/data/stats/chars/playerXpPercentLost.xml b/L2J_DataPack/dist/game/data/stats/chars/playerXpPercentLost.xml new file mode 100644 index 0000000000000000000000000000000000000000..52e5a6c588b7607338c7bfc4bf8aa29cb4d49166 --- /dev/null +++ b/L2J_DataPack/dist/game/data/stats/chars/playerXpPercentLost.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/playerXpPercentLost.xsd"> + <xpLost level="1" val="10.0" /> + <xpLost level="2" val="9.875" /> + <xpLost level="3" val="9.75" /> + <xpLost level="4" val="9.625" /> + <xpLost level="5" val="9.5" /> + <xpLost level="6" val="9.375" /> + <xpLost level="7" val="9.25" /> + <xpLost level="8" val="9.125" /> + <xpLost level="9" val="9.0" /> + <xpLost level="10" val="8.875" /> + <xpLost level="11" val="8.75" /> + <xpLost level="12" val="8.625" /> + <xpLost level="13" val="8.5" /> + <xpLost level="14" val="8.375" /> + <xpLost level="15" val="8.25" /> + <xpLost level="16" val="8.125" /> + <xpLost level="17" val="8.0" /> + <xpLost level="18" val="7.875" /> + <xpLost level="19" val="7.75" /> + <xpLost level="20" val="7.625" /> + <xpLost level="21" val="7.5" /> + <xpLost level="22" val="7.375" /> + <xpLost level="23" val="7.25" /> + <xpLost level="24" val="7.125" /> + <xpLost level="25" val="7.0" /> + <xpLost level="26" val="6.875" /> + <xpLost level="27" val="6.75" /> + <xpLost level="28" val="6.625" /> + <xpLost level="29" val="6.5" /> + <xpLost level="30" val="6.375" /> + <xpLost level="31" val="6.25" /> + <xpLost level="32" val="6.125" /> + <xpLost level="33" val="6.0" /> + <xpLost level="34" val="5.875" /> + <xpLost level="35" val="5.75" /> + <xpLost level="36" val="5.625" /> + <xpLost level="37" val="5.5" /> + <xpLost level="38" val="5.375" /> + <xpLost level="39" val="5.25" /> + <xpLost level="40" val="5.125" /> + <xpLost level="41" val="5.0" /> + <xpLost level="42" val="4.875" /> + <xpLost level="43" val="4.75" /> + <xpLost level="44" val="4.625" /> + <xpLost level="45" val="4.5" /> + <xpLost level="46" val="4.375" /> + <xpLost level="47" val="4.25" /> + <xpLost level="48" val="4.125" /> + <xpLost level="49" val="4.0" /> + <xpLost level="50" val="4.0" /> + <xpLost level="51" val="4.0" /> + <xpLost level="52" val="4.0" /> + <xpLost level="53" val="4.0" /> + <xpLost level="54" val="4.0" /> + <xpLost level="55" val="4.0" /> + <xpLost level="56" val="4.0" /> + <xpLost level="57" val="4.0" /> + <xpLost level="58" val="4.0" /> + <xpLost level="59" val="4.0" /> + <xpLost level="60" val="4.0" /> + <xpLost level="61" val="4.0" /> + <xpLost level="62" val="4.0" /> + <xpLost level="63" val="4.0" /> + <xpLost level="64" val="4.0" /> + <xpLost level="65" val="4.0" /> + <xpLost level="66" val="4.0" /> + <xpLost level="67" val="4.0" /> + <xpLost level="68" val="4.0" /> + <xpLost level="69" val="4.0" /> + <xpLost level="70" val="4.0" /> + <xpLost level="71" val="4.0" /> + <xpLost level="72" val="4.0" /> + <xpLost level="73" val="4.0" /> + <xpLost level="74" val="4.0" /> + <xpLost level="75" val="4.0" /> + <xpLost level="76" val="2.5" /> + <xpLost level="77" val="2.0" /> + <xpLost level="78" val="1.5" /> + <xpLost level="79" val="1.0" /> + <xpLost level="80" val="1.0" /> + <xpLost level="81" val="1.0" /> + <xpLost level="82" val="1.0" /> + <xpLost level="83" val="1.0" /> + <xpLost level="84" val="1.0" /> + <xpLost level="85" val="1.0" /> +</list> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/stats/experience.xml b/L2J_DataPack/dist/game/data/stats/experience.xml index 49be4ec2871baa9b3d9a326cdc7f6aaa819d8629..23c18e938ffcd74e668e8763a72b272661bf4b56 100644 --- a/L2J_DataPack/dist/game/data/stats/experience.xml +++ b/L2J_DataPack/dist/game/data/stats/experience.xml @@ -85,6 +85,6 @@ <experience level="83" tolevel="7793077345" /> <experience level="84" tolevel="10235368963" /> <experience level="85" tolevel="13180481103" /> - <experience level="86" tolevel="25314105600" /> - <experience level="87" tolevel="32211728640" /> + <experience level="86" tolevel="16890558728" /> + <experience level="87" tolevel="21138534249" /> </table> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/stats/skills/00300-00399.xml b/L2J_DataPack/dist/game/data/stats/skills/00300-00399.xml index b93e572bb1072805c19586fc70eb194d91840e9d..ad709f66be9bb54cff95125ee0c90372533116c5 100644 --- a/L2J_DataPack/dist/game/data/stats/skills/00300-00399.xml +++ b/L2J_DataPack/dist/game/data/stats/skills/00300-00399.xml @@ -2843,11 +2843,20 @@ </skill> <skill id="390" levels="3" name="Clan Luck"> <!-- Confirmed CT2.5 --> - <!-- TODO: Still missing info about other penalties than exp. loss --> + <table name="#byPvp"> 0.7 0.5 0.4 </table> + <table name="#byMob"> 0.88 0.8 0.76 </table> <set name="icon" val="icon.skill0390" /> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> + <for> + <effect name="Buff"> + <mul stat="reduceExpLostByPvp" val="#byPvp" /> + <mul stat="reduceDeadPenaltyByPvp" val="#byPvp" /> + <mul stat="reduceExpLostByMob" val="#byMob" /> + <mul stat="reduceDeadPenaltyByMob" val="#byMob" /> + </effect> + </for> </skill> <skill id="391" levels="1" name="Clan Imperium"> <!-- Confirmed CT2.5 --> diff --git a/L2J_DataPack/dist/game/data/stats/skills/00600-00699.xml b/L2J_DataPack/dist/game/data/stats/skills/00600-00699.xml index b77bd54ee9a10054e2cdc0db00d5c6ecebea3475..64c265d864a21fc4505199bfea05d8e3a50cfabf 100644 --- a/L2J_DataPack/dist/game/data/stats/skills/00600-00699.xml +++ b/L2J_DataPack/dist/game/data/stats/skills/00600-00699.xml @@ -124,11 +124,18 @@ </skill> <skill id="610" levels="1" name="Residence Death Fortune"> <!-- Confirmed CT2.5 --> - <!-- TODO: Still missing info about other penalties than exp. loss --> <set name="icon" val="icon.skill0390" /> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> + <for> + <effect name="Buff"> + <mul stat="reduceDeadPenaltyByPvp" val="0.7" /> + <mul stat="reduceExpLostByPvp" val="0.7" /> + <mul stat="reduceDeadPenaltyByMob" val="0.88" /> + <mul stat="reduceExpLostByMob" val="0.88" /> + </effect> + </for> </skill> <skill id="611" levels="3" name="Fire Squad"> <!-- Confirmed CT2.5 --> diff --git a/L2J_DataPack/dist/game/data/stats/skills/00800-00899.xml b/L2J_DataPack/dist/game/data/stats/skills/00800-00899.xml index 414104af256af9cbaf433eaad858314299a9f247..d5bee5def5b3fd5cb1d7e5b739ecfd5e7c0ba835 100644 --- a/L2J_DataPack/dist/game/data/stats/skills/00800-00899.xml +++ b/L2J_DataPack/dist/game/data/stats/skills/00800-00899.xml @@ -930,6 +930,9 @@ <param id="260" /> <mul stat="pDef" val="0.7" /> <mul stat="mDef" val="0.7" /> + <mul stat="reduceExpLostByPvp" val="0.1" /> + <mul stat="reduceExpLostByMob" val="0.1" /> + <mul stat="reduceExpLostByRaid" val="0.1" /> </effect> </for> </skill> @@ -959,6 +962,9 @@ <param id="8" /> <mul stat="pDef" val="0.7" /> <mul stat="mDef" val="0.7" /> + <mul stat="reduceExpLostByPvp" val="0.1" /> + <mul stat="reduceExpLostByMob" val="0.1" /> + <mul stat="reduceExpLostByRaid" val="0.1" /> </effect> </for> </skill> @@ -988,6 +994,9 @@ <param id="9" /> <mul stat="pDef" val="0.7" /> <mul stat="mDef" val="0.7" /> + <mul stat="reduceExpLostByPvp" val="0.1" /> + <mul stat="reduceExpLostByMob" val="0.1" /> + <mul stat="reduceExpLostByRaid" val="0.1" /> </effect> </for> </skill> diff --git a/L2J_DataPack/dist/game/data/stats/skills/01300-01399.xml b/L2J_DataPack/dist/game/data/stats/skills/01300-01399.xml index d99642aa02baeec9777e6d06e47987441d45ef78..6e11c50d351b2a666ec63d5f95e4acde961c56e0 100644 --- a/L2J_DataPack/dist/game/data/stats/skills/01300-01399.xml +++ b/L2J_DataPack/dist/game/data/stats/skills/01300-01399.xml @@ -580,7 +580,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="PARTY" /> <for> - <effect name="CharmOfLuck" /> + <effect name="Buff"> + <mul stat="reduceDeadPenaltyByRaid" val="0" /> + </effect> </for> </skill> <skill id="1326" levels="1" name="Harmony of Noblesse"> diff --git a/L2J_DataPack/dist/game/data/stats/skills/02100-02199.xml b/L2J_DataPack/dist/game/data/stats/skills/02100-02199.xml index 2fc363a288e80cdbe03a46b5ca1e610aed3cbb80..95066b686d5600f4a1764697387637363489e16a 100644 --- a/L2J_DataPack/dist/game/data/stats/skills/02100-02199.xml +++ b/L2J_DataPack/dist/game/data/stats/skills/02100-02199.xml @@ -924,7 +924,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <for> - <effect name="CharmOfLuck" /> + <effect name="Buff"> + <mul stat="reduceDeadPenaltyByRaid" val="0" /> + </effect> </for> </skill> <skill id="2169" levels="2" name="Magic Haste Potion"> diff --git a/L2J_DataPack/dist/game/data/stats/skills/03600-03699.xml b/L2J_DataPack/dist/game/data/stats/skills/03600-03699.xml index 6005138c9fee0d9e78d0748b64dc6fb16c6b084a..7c1f0f03919eeaf295e38b6d2017845fd1707d1d 100644 --- a/L2J_DataPack/dist/game/data/stats/skills/03600-03699.xml +++ b/L2J_DataPack/dist/game/data/stats/skills/03600-03699.xml @@ -178,6 +178,7 @@ <table name="#maxCP"> 1035 1116 1116 </table> <table name="#mpConsumeRate"> 1 0.95 0.95 </table> <table name="#triggeredLevel"> 1 2 2 </table> + <table name="#expLost"> 0.3 0.3 0.6 </table> <set name="icon" val="icon.armor_t1004_ul_i00" /> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> @@ -186,7 +187,7 @@ <effect name="Buff"> <add stat="maxCp" val="#maxCP" /> <mul stat="regCp" val="1.4" /> - <!-- TODO: Missing PK drop penalty decrease -70, -70, -40 --> + <mul stat="reduceExpLostByPvp" val="#expLost" /> <mul stat="PhysicalMpConsumeRate" val="#mpConsumeRate" /> <mul stat="MagicalMpConsumeRate" val="#mpConsumeRate" /> <mul stat="DanceMpConsumeRate" val="#mpConsumeRate" /> @@ -205,6 +206,7 @@ <table name="#maxCP"> 1035 1116 1116 </table> <table name="#mpConsumeRate"> 1 0.95 0.95 </table> <table name="#triggeredLevel"> 1 2 2 </table> + <table name="#expLost"> 0.3 0.3 0.6 </table> <set name="icon" val="icon.armor_t1005_ul_i00" /> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> @@ -213,7 +215,7 @@ <effect name="Buff"> <add stat="maxCp" val="#maxCP" /> <mul stat="regCp" val="1.4" /> - <!-- TODO: Missing PK drop penalty decrease -70, -70, -40 --> + <mul stat="reduceExpLostByPvp" val="#expLost" /> <mul stat="PhysicalMpConsumeRate" val="#mpConsumeRate" /> <mul stat="MagicalMpConsumeRate" val="#mpConsumeRate" /> <mul stat="DanceMpConsumeRate" val="#mpConsumeRate" /> @@ -232,6 +234,7 @@ <table name="#maxCP"> 1035 1116 1116 </table> <table name="#mpConsumeRate"> 1 0.95 0.95 </table> <table name="#triggeredLevel"> 1 2 2 </table> + <table name="#expLost"> 0.3 0.3 0.6 </table> <set name="icon" val="icon.armor_t1006_ul_i00" /> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> @@ -240,7 +243,7 @@ <effect name="Buff"> <add stat="maxCp" val="#maxCP" /> <mul stat="regCp" val="1.4" /> - <!-- TODO: Missing PK drop penalty decrease -70, -70, -40 --> + <mul stat="reduceExpLostByPvp" val="#expLost" /> <mul stat="PhysicalMpConsumeRate" val="#mpConsumeRate" /> <mul stat="MagicalMpConsumeRate" val="#mpConsumeRate" /> <mul stat="DanceMpConsumeRate" val="#mpConsumeRate" /> diff --git a/L2J_DataPack/dist/game/data/stats/skills/05900-05999.xml b/L2J_DataPack/dist/game/data/stats/skills/05900-05999.xml index ede58338d2b94884b9c23e80615a144a428fd2ee..d578ac91b6b26885bfdf84ade5fc40ddd941209a 100644 --- a/L2J_DataPack/dist/game/data/stats/skills/05900-05999.xml +++ b/L2J_DataPack/dist/game/data/stats/skills/05900-05999.xml @@ -1239,6 +1239,9 @@ <for> <effect name="Transformation"> <param id="8" /> + <mul stat="reduceExpLostByPvp" val="0.1" /> + <mul stat="reduceExpLostByMob" val="0.1" /> + <mul stat="reduceExpLostByRaid" val="0.1" /> </effect> </for> </skill> @@ -1267,6 +1270,9 @@ <for> <effect name="Transformation"> <param id="9" /> + <mul stat="reduceExpLostByPvp" val="0.1" /> + <mul stat="reduceExpLostByMob" val="0.1" /> + <mul stat="reduceExpLostByRaid" val="0.1" /> </effect> </for> </skill> diff --git a/L2J_DataPack/dist/game/data/xsd/playerXpPercentLost.xsd b/L2J_DataPack/dist/game/data/xsd/playerXpPercentLost.xsd new file mode 100644 index 0000000000000000000000000000000000000000..8777b59bf0a025827d56f66f02a74045af369d65 --- /dev/null +++ b/L2J_DataPack/dist/game/data/xsd/playerXpPercentLost.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <xs:element name="list"> + <xs:complexType> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="xpLost" minOccurs="1" maxOccurs="100"> + <xs:complexType> + <xs:attribute name="level" use="required" type="xs:byte" /> + <xs:attribute name="val" use="required" type="xs:float" /> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> +</xs:schema> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/xsd/skills.xsd b/L2J_DataPack/dist/game/data/xsd/skills.xsd index 883ea0b176692bfc74a6510bdd5794d071066823..b91010d8c1c99d5e83c693103e2ff9b80192ac02 100644 --- a/L2J_DataPack/dist/game/data/xsd/skills.xsd +++ b/L2J_DataPack/dist/game/data/xsd/skills.xsd @@ -273,6 +273,12 @@ <xs:enumeration value="transDam" /> <xs:enumeration value="PhysicalMpConsumeRate" /> <xs:enumeration value="blowRate" /> + <xs:enumeration value="reduceExpLostByPvp" /> + <xs:enumeration value="reduceExpLostByMob" /> + <xs:enumeration value="reduceExpLostByRaid" /> + <xs:enumeration value="reduceDeadPenaltyByPvp" /> + <xs:enumeration value="reduceDeadPenaltyByMob" /> + <xs:enumeration value="reduceDeadPenaltyByRaid" /> <xs:enumeration value="breath" /> <xs:enumeration value="pvpMagicalDmg" /> <xs:enumeration value="transDamToPlayer" /> diff --git a/L2J_DataPack/dist/sql/game/updates/20141203update.sql b/L2J_DataPack/dist/sql/game/updates/20141203update.sql new file mode 100644 index 0000000000000000000000000000000000000000..96f08dbba5cd6b316f7a9fe9930166d5cea7a207 --- /dev/null +++ b/L2J_DataPack/dist/sql/game/updates/20141203update.sql @@ -0,0 +1 @@ +UPDATE `characters` SET `exp` = '16890558727' WHERE `exp` > '16890558727'; \ No newline at end of file