Sync with L2jOrg and various adjustments.

This commit is contained in:
MobiusDevelopment
2019-10-10 09:57:48 +00:00
parent 0b9d2b8173
commit 8e6f33bc41
349 changed files with 31442 additions and 25115 deletions

View File

@@ -3,185 +3,328 @@
<spirit name="Flame Spirit Seed" type="1" stage="0" npcId="13565" extractItem="0" maxCharacteristics="0">
<level id="1" atk="0" def="0" critRate="0" critDam="0" maxExp="0" />
</spirit>
<spirit name="Ignis - Minor Flame Spirit" type="1" stage="1" npcId="13566" extractItem="91040" maxCharacteristics="5">
<level id="1" atk="35" def="35" critRate="1" critDam="1" maxExp="57713" />
<level id="2" atk="40" def="40" critRate="2" critDam="2" maxExp="135313" />
<level id="3" atk="45" def="45" critRate="3" critDam="3" maxExp="238082" />
<level id="4" atk="50" def="50" critRate="4" critDam="4" maxExp="371775" />
<level id="5" atk="55" def="55" critRate="5" critDam="5" maxExp="542993" />
<level id="6" atk="60" def="60" critRate="6" critDam="6" maxExp="759244" />
<level id="7" atk="65" def="65" critRate="7" critDam="7" maxExp="1029008" />
<level id="8" atk="70" def="70" critRate="8" critDam="8" maxExp="1361808" />
<level id="9" atk="75" def="75" critRate="9" critDam="9" maxExp="1768273" />
<level id="10" atk="80" def="80" critRate="10" critDam="10" maxExp="2260211" />
<spirit name="Ignis - Minor Flame Spirit" type="1" stage="1" npcId="13566" extractItem="91040" maxCharacteristics="5">
<level id="1" atk="10" def="10" critRate="1" critDam="1" maxExp="57713" />
<level id="2" atk="13" def="15" critRate="2" critDam="2" maxExp="135313" />
<level id="3" atk="16" def="20" critRate="3" critDam="3" maxExp="238082" />
<level id="4" atk="19" def="25" critRate="4" critDam="4" maxExp="371775" />
<level id="5" atk="22" def="30" critRate="5" critDam="5" maxExp="542993" />
<level id="6" atk="25" def="35" critRate="6" critDam="6" maxExp="759244" />
<level id="7" atk="28" def="40" critRate="7" critDam="7" maxExp="1029008" />
<level id="8" atk="31" def="45" critRate="8" critDam="8" maxExp="1361808" />
<level id="9" atk="34" def="50" critRate="9" critDam="9" maxExp="1768273" />
<level id="10" atk="37" def="55" critRate="10" critDam="10" maxExp="2260211" />
<itemToEvolve id="91032" />
<itemToEvolve id="57" count="1000000" />
<absorbItem id="91036" experience="9300" />
</spirit>
<spirit name="Ignis - Lesser Flame Spirit" type="1" stage="2" npcId="13566" extractItem="91040" maxCharacteristics="10">
<level id="1" atk="105" def="105" critRate="16" critDam="16" maxExp="596369" />
<level id="2" atk="110" def="110" critRate="17" critDam="17" maxExp="1313872" />
<level id="3" atk="115" def="115" critRate="18" critDam="18" maxExp="2171115" />
<level id="4" atk="120" def="120" critRate="19" critDam="19" maxExp="3188751" />
<level id="5" atk="125" def="125" critRate="20" critDam="20" maxExp="4389633" />
<level id="6" atk="130" def="130" critRate="21" critDam="21" maxExp="5798968" />
<level id="7" atk="135" def="135" critRate="22" critDam="22" maxExp="7444481" />
<level id="8" atk="140" def="140" critRate="23" critDam="23" maxExp="9356589" />
<level id="9" atk="145" def="145" critRate="24" critDam="24" maxExp="11568579" />
<level id="10" atk="150" def="150" critRate="25" critDam="25" maxExp="14116796" />
<spirit name="Ignis - Lesser Flame Spirit" type="1" stage="2" npcId="13567" extractItem="91040" maxCharacteristics="10">
<level id="1" atk="41" def="61" critRate="11" critDam="11" maxExp="596369" />
<level id="2" atk="45" def="67" critRate="12" critDam="12" maxExp="1313872" />
<level id="3" atk="49" def="73" critRate="13" critDam="13" maxExp="2171115" />
<level id="4" atk="53" def="79" critRate="14" critDam="14" maxExp="3188751" />
<level id="5" atk="57" def="85" critRate="15" critDam="15" maxExp="4389633" />
<level id="6" atk="61" def="91" critRate="16" critDam="16" maxExp="5798968" />
<level id="7" atk="65" def="97" critRate="17" critDam="17" maxExp="7444481" />
<level id="8" atk="69" def="103" critRate="18" critDam="18" maxExp="9356589" />
<level id="9" atk="73" def="109" critRate="19" critDam="19" maxExp="11568579" />
<level id="10" atk="77" def="115" critRate="20" critDam="20" maxExp="14116796" />
<itemToEvolve id="91032" count="3" />
<itemToEvolve id="57" count="3000000" />
<absorbItem id="91036" experience="9300" />
</spirit>
<spirit name="Ignis - Median Flame Spirit" type="1" stage="3" npcId="13568" extractItem="91040" maxCharacteristics="15">
<level id="1" atk="175" def="175" critRate="31" critDam="31" maxExp="2924039" />
<level id="2" atk="180" def="180" critRate="32" critDam="32" maxExp="6266952" />
<level id="3" atk="185" def="185" critRate="33" critDam="33" maxExp="10075460" />
<level id="4" atk="190" def="190" critRate="34" critDam="34" maxExp="14400173" />
<level id="5" atk="195" def="195" critRate="35" critDam="35" maxExp="19295819" />
<level id="6" atk="200" def="200" critRate="36" critDam="36" maxExp="24821487" />
<level id="7" atk="205" def="205" critRate="37" critDam="37" maxExp="31040875" />
<level id="8" atk="210" def="210" critRate="38" critDam="38" maxExp="38022549" />
<level id="9" atk="215" def="215" critRate="39" critDam="39" maxExp="45840213" />
<level id="10" atk="220" def="220" critRate="40" critDam="40" maxExp="54572992" />
<spirit name="Ignis - Median Flame Spirit" type="1" stage="3" npcId="13568" extractItem="91040" maxCharacteristics="15" >
<level id="1" atk="82" def="122" critRate="21" critDam="21" maxExp="2924039" />
<level id="2" atk="87" def="129" critRate="22" critDam="22" maxExp="6266952" />
<level id="3" atk="92" def="136" critRate="23" critDam="23" maxExp="10075460" />
<level id="4" atk="97" def="143" critRate="24" critDam="24" maxExp="14400173" />
<level id="5" atk="102" def="150" critRate="25" critDam="25" maxExp="19295819" />
<level id="6" atk="107" def="157" critRate="26" critDam="26" maxExp="24821487" />
<level id="7" atk="112" def="164" critRate="27" critDam="27" maxExp="31040875" />
<level id="8" atk="117" def="171" critRate="28" critDam="28" maxExp="38022549" />
<level id="9" atk="122" def="178" critRate="29" critDam="29" maxExp="45840213" />
<level id="10" atk="127" def="185" critRate="30" critDam="30" maxExp="54572992" />
<itemToEvolve id="91032" count="5" />
<itemToEvolve id="57" count="5000000" />
<absorbItem id="91036" experience="9300" />
</spirit>
<spirit name="Ignis - Elder Fire Spirit" type="1" stage="4" npcId="15943" extractItem="91040" maxCharacteristics="20" >
<level id="1" atk="133" def="193" critRate="31" critDam="31" maxExp="11478124" />
<level id="2" atk="139" def="201" critRate="32" critDam="32" maxExp="31192283" />
<level id="3" atk="145" def="209" critRate="33" critDam="33" maxExp="75614547" />
<level id="4" atk="151" def="217" critRate="34" critDam="34" maxExp="144744916" />
<level id="5" atk="157" def="225" critRate="35" critDam="35" maxExp="238583390" />
<level id="6" atk="163" def="233" critRate="36" critDam="36" maxExp="357129969" />
<level id="7" atk="169" def="241" critRate="37" critDam="37" maxExp="488030601" />
<level id="8" atk="175" def="249" critRate="38" critDam="38" maxExp="625108258" />
<level id="9" atk="181" def="257" critRate="39" critDam="39" maxExp="765274429" />
<level id="10" atk="187" def="265" critRate="40" critDam="40" maxExp="906984857" />
<itemToEvolve id="91032" count="10" />
<itemToEvolve id="57" count="7000000" />
<absorbItem id="91036" experience="9300" />
</spirit>
<spirit name="Ignis - Great Fire Spirit" type="1" stage="5" npcId="15944" extractItem="91040" maxCharacteristics="30" >
<level id="1" atk="193" def="274" critRate="41" critDam="41" maxExp="146343197" />
<level id="2" atk="199" def="283" critRate="42" critDam="42" maxExp="306584703" />
<level id="3" atk="205" def="292" critRate="43" critDam="43" maxExp="501571982" />
<level id="4" atk="211" def="301" critRate="44" critDam="44" maxExp="731305034" />
<level id="5" atk="217" def="310" critRate="45" critDam="45" maxExp="995783858" />
<level id="6" atk="223" def="320" critRate="47" critDam="47" maxExp="1295008455" />
<level id="7" atk="229" def="330" critRate="49" critDam="49" maxExp="1611605938" />
<level id="8" atk="235" def="340" critRate="51" critDam="51" maxExp="1936889864" />
<level id="9" atk="241" def="350" critRate="53" critDam="53" maxExp="2266517012" />
<level id="10" atk="247" def="360" critRate="55" critDam="55" maxExp="2598315771" />
<absorbItem id="91036" experience="9300" />
</spirit>
<spirit name="Water Spirit Seed" type="2" stage="0" npcId="13569" extractItem="0" maxCharacteristics="0">
<level id="1" atk="0" def="0" critRate="0" critDam="0" maxExp="0" />
</spirit>
<spirit name="Nebula - Minor Water Spirit" type="2" stage="1" npcId="13570" extractItem="91039" maxCharacteristics="5">
<level id="1" atk="35" def="35" critRate="1" critDam="1" maxExp="57713" />
<level id="2" atk="40" def="40" critRate="2" critDam="2" maxExp="135313" />
<level id="3" atk="45" def="45" critRate="3" critDam="3" maxExp="238082" />
<level id="4" atk="50" def="50" critRate="4" critDam="4" maxExp="371775" />
<level id="5" atk="55" def="55" critRate="5" critDam="5" maxExp="542993" />
<level id="6" atk="60" def="60" critRate="6" critDam="6" maxExp="759244" />
<level id="7" atk="65" def="65" critRate="7" critDam="7" maxExp="1029008" />
<level id="8" atk="70" def="70" critRate="8" critDam="8" maxExp="1361808" />
<level id="9" atk="75" def="75" critRate="9" critDam="9" maxExp="1768273" />
<level id="10" atk="80" def="80" critRate="10" critDam="10" maxExp="2260211" />
<spirit name="Nebula - Minor Water Spirit" type="2" stage="1" npcId="13570" extractItem="91039" maxCharacteristics="5">
<level id="1" atk="10" def="10" critRate="1" critDam="1" maxExp="57713" />
<level id="2" atk="13" def="15" critRate="2" critDam="2" maxExp="135313" />
<level id="3" atk="16" def="20" critRate="3" critDam="3" maxExp="238082" />
<level id="4" atk="19" def="25" critRate="4" critDam="4" maxExp="371775" />
<level id="5" atk="22" def="30" critRate="5" critDam="5" maxExp="542993" />
<level id="6" atk="25" def="35" critRate="6" critDam="6" maxExp="759244" />
<level id="7" atk="28" def="40" critRate="7" critDam="7" maxExp="1029008" />
<level id="8" atk="31" def="45" critRate="8" critDam="8" maxExp="1361808" />
<level id="9" atk="34" def="50" critRate="9" critDam="9" maxExp="1768273" />
<level id="10" atk="37" def="55" critRate="10" critDam="10" maxExp="2260211" />
<itemToEvolve id="91031" />
<itemToEvolve id="57" count="1000000" />
<absorbItem id="91035" experience="9300" />
</spirit>
<spirit name="Nebula - Lesser Water Spirit" type="2" stage="2" npcId="13571" extractItem="91039" maxCharacteristics="10">
<level id="1" atk="105" def="105" critRate="16" critDam="16" maxExp="596369" />
<level id="2" atk="110" def="110" critRate="17" critDam="17" maxExp="1313872" />
<level id="3" atk="115" def="115" critRate="18" critDam="18" maxExp="2171115" />
<level id="4" atk="120" def="120" critRate="19" critDam="19" maxExp="3188751" />
<level id="5" atk="125" def="125" critRate="20" critDam="20" maxExp="4389633" />
<level id="6" atk="130" def="130" critRate="21" critDam="21" maxExp="5798968" />
<level id="7" atk="135" def="135" critRate="22" critDam="22" maxExp="7444481" />
<level id="8" atk="140" def="140" critRate="23" critDam="23" maxExp="9356589" />
<level id="9" atk="145" def="145" critRate="24" critDam="24" maxExp="11568579" />
<level id="10" atk="150" def="150" critRate="25" critDam="25" maxExp="14116796" />
<level id="1" atk="41" def="61" critRate="11" critDam="11" maxExp="596369" />
<level id="2" atk="45" def="67" critRate="12" critDam="12" maxExp="1313872" />
<level id="3" atk="49" def="73" critRate="13" critDam="13" maxExp="2171115" />
<level id="4" atk="53" def="79" critRate="14" critDam="14" maxExp="3188751" />
<level id="5" atk="57" def="85" critRate="15" critDam="15" maxExp="4389633" />
<level id="6" atk="61" def="91" critRate="16" critDam="16" maxExp="5798968" />
<level id="7" atk="65" def="97" critRate="17" critDam="17" maxExp="7444481" />
<level id="8" atk="69" def="103" critRate="18" critDam="18" maxExp="9356589" />
<level id="9" atk="73" def="109" critRate="19" critDam="19" maxExp="11568579" />
<level id="10" atk="77" def="115" critRate="20" critDam="20" maxExp="14116796" />
<itemToEvolve id="91031" count="3" />
<itemToEvolve id="57" count="3000000" />
<absorbItem id="91035" experience="9300" />
</spirit>
<spirit name="Nebula - Median Water Spirit" type="2" stage="3" npcId="13572" extractItem="91039" maxCharacteristics="15">
<level id="1" atk="175" def="175" critRate="31" critDam="31" maxExp="2924039" />
<level id="2" atk="180" def="180" critRate="32" critDam="32" maxExp="6266952" />
<level id="3" atk="185" def="185" critRate="33" critDam="33" maxExp="10075460" />
<level id="4" atk="190" def="190" critRate="34" critDam="34" maxExp="14400173" />
<level id="5" atk="195" def="195" critRate="35" critDam="35" maxExp="19295819" />
<level id="6" atk="200" def="200" critRate="36" critDam="36" maxExp="24821487" />
<level id="7" atk="205" def="205" critRate="37" critDam="37" maxExp="31040875" />
<level id="8" atk="210" def="210" critRate="38" critDam="38" maxExp="38022549" />
<level id="9" atk="215" def="215" critRate="39" critDam="39" maxExp="45840213" />
<level id="10" atk="220" def="220" critRate="40" critDam="40" maxExp="54572992" />
<spirit name="Nebula - Median Water Spirit" type="2" stage="3" npcId="13572" extractItem="91039" maxCharacteristics="15" >
<level id="1" atk="82" def="122" critRate="21" critDam="21" maxExp="2924039" />
<level id="2" atk="87" def="129" critRate="22" critDam="22" maxExp="6266952" />
<level id="3" atk="92" def="136" critRate="23" critDam="23" maxExp="10075460" />
<level id="4" atk="97" def="143" critRate="24" critDam="24" maxExp="14400173" />
<level id="5" atk="102" def="150" critRate="25" critDam="25" maxExp="19295819" />
<level id="6" atk="107" def="157" critRate="26" critDam="26" maxExp="24821487" />
<level id="7" atk="112" def="164" critRate="27" critDam="27" maxExp="31040875" />
<level id="8" atk="117" def="171" critRate="28" critDam="28" maxExp="38022549" />
<level id="9" atk="122" def="178" critRate="29" critDam="29" maxExp="45840213" />
<level id="10" atk="127" def="185" critRate="30" critDam="30" maxExp="54572992" />
<itemToEvolve id="91032" count="5" />
<itemToEvolve id="57" count="5000000" />
<absorbItem id="91035" experience="9300" />
</spirit>
<spirit name="Nebula - Elder Water Spirit" type="2" stage="4" npcId="15945" extractItem="91039" maxCharacteristics="20" >
<level id="1" atk="133" def="193" critRate="31" critDam="31" maxExp="11478124" />
<level id="2" atk="139" def="201" critRate="32" critDam="32" maxExp="31192283" />
<level id="3" atk="145" def="209" critRate="33" critDam="33" maxExp="75614547" />
<level id="4" atk="151" def="217" critRate="34" critDam="34" maxExp="144744916" />
<level id="5" atk="157" def="225" critRate="35" critDam="35" maxExp="238583390" />
<level id="6" atk="163" def="233" critRate="36" critDam="36" maxExp="357129969" />
<level id="7" atk="169" def="241" critRate="37" critDam="37" maxExp="488030601" />
<level id="8" atk="175" def="249" critRate="38" critDam="38" maxExp="625108258" />
<level id="9" atk="181" def="257" critRate="39" critDam="39" maxExp="765274429" />
<level id="10" atk="187" def="265" critRate="40" critDam="40" maxExp="906984857" />
<itemToEvolve id="91032" count="10" />
<itemToEvolve id="57" count="7000000" />
<absorbItem id="91035" experience="9300" />
</spirit>
<spirit name="Nebula - Great Water Spirit" type="2" stage="5" npcId="15946" extractItem="91039" maxCharacteristics="30" >
<level id="1" atk="193" def="274" critRate="41" critDam="41" maxExp="146343197" />
<level id="2" atk="199" def="283" critRate="42" critDam="42" maxExp="306584703" />
<level id="3" atk="205" def="292" critRate="43" critDam="43" maxExp="501571982" />
<level id="4" atk="211" def="301" critRate="44" critDam="44" maxExp="731305034" />
<level id="5" atk="217" def="310" critRate="45" critDam="45" maxExp="995783858" />
<level id="6" atk="223" def="320" critRate="47" critDam="47" maxExp="1295008455" />
<level id="7" atk="229" def="330" critRate="49" critDam="49" maxExp="1611605938" />
<level id="8" atk="235" def="340" critRate="51" critDam="51" maxExp="1936889864" />
<level id="9" atk="241" def="350" critRate="53" critDam="53" maxExp="2266517012" />
<level id="10" atk="247" def="360" critRate="55" critDam="55" maxExp="2598315771" />
<absorbItem id="91035" experience="9300" />
</spirit>
<spirit name="Wind Spirit Seed" type="3" stage="0" npcId="13573" extractItem="0" maxCharacteristics="0">
<level id="1" atk="0" def="0" critRate="0" critDam="0" maxExp="0" />
</spirit>
<spirit name="Procella - Minor Wind Spirit" type="3" stage="1" npcId="13574" extractItem="91041" maxCharacteristics="5">
<level id="1" atk="35" def="35" critRate="1" critDam="1" maxExp="57713" />
<level id="2" atk="40" def="40" critRate="2" critDam="2" maxExp="135313" />
<level id="3" atk="45" def="45" critRate="3" critDam="3" maxExp="238082" />
<level id="4" atk="50" def="50" critRate="4" critDam="4" maxExp="371775" />
<level id="5" atk="55" def="55" critRate="5" critDam="5" maxExp="542993" />
<level id="6" atk="60" def="60" critRate="6" critDam="6" maxExp="759244" />
<level id="7" atk="65" def="65" critRate="7" critDam="7" maxExp="1029008" />
<level id="8" atk="70" def="70" critRate="8" critDam="8" maxExp="1361808" />
<level id="9" atk="75" def="75" critRate="9" critDam="9" maxExp="1768273" />
<level id="10" atk="80" def="80" critRate="10" critDam="10" maxExp="2260211" />
<spirit name="Procella - Minor Wind Spirit" type="3" stage="1" npcId="13574" extractItem="91041" maxCharacteristics="5">
<level id="1" atk="10" def="10" critRate="1" critDam="1" maxExp="57713" />
<level id="2" atk="13" def="15" critRate="2" critDam="2" maxExp="135313" />
<level id="3" atk="16" def="20" critRate="3" critDam="3" maxExp="238082" />
<level id="4" atk="19" def="25" critRate="4" critDam="4" maxExp="371775" />
<level id="5" atk="22" def="30" critRate="5" critDam="5" maxExp="542993" />
<level id="6" atk="25" def="35" critRate="6" critDam="6" maxExp="759244" />
<level id="7" atk="28" def="40" critRate="7" critDam="7" maxExp="1029008" />
<level id="8" atk="31" def="45" critRate="8" critDam="8" maxExp="1361808" />
<level id="9" atk="34" def="50" critRate="9" critDam="9" maxExp="1768273" />
<level id="10" atk="37" def="55" critRate="10" critDam="10" maxExp="2260211" />
<itemToEvolve id="91033" />
<itemToEvolve id="57" count="1000000" />
<absorbItem id="91037" experience="9300" />
</spirit>
<spirit name="Procella - Lesser Wind Spirit" type="3" stage="2" npcId="13575" extractItem="91041" maxCharacteristics="10">
<level id="1" atk="105" def="105" critRate="16" critDam="16" maxExp="596369" />
<level id="2" atk="110" def="110" critRate="17" critDam="17" maxExp="1313872" />
<level id="3" atk="115" def="115" critRate="18" critDam="18" maxExp="2171115" />
<level id="4" atk="120" def="120" critRate="19" critDam="19" maxExp="3188751" />
<level id="5" atk="125" def="125" critRate="20" critDam="20" maxExp="4389633" />
<level id="6" atk="130" def="130" critRate="21" critDam="21" maxExp="5798968" />
<level id="7" atk="135" def="135" critRate="22" critDam="22" maxExp="7444481" />
<level id="8" atk="140" def="140" critRate="23" critDam="23" maxExp="9356589" />
<level id="9" atk="145" def="145" critRate="24" critDam="24" maxExp="11568579" />
<level id="10" atk="150" def="150" critRate="25" critDam="25" maxExp="14116796" />
<level id="1" atk="41" def="61" critRate="11" critDam="11" maxExp="596369" />
<level id="2" atk="45" def="67" critRate="12" critDam="12" maxExp="1313872" />
<level id="3" atk="49" def="73" critRate="13" critDam="13" maxExp="2171115" />
<level id="4" atk="53" def="79" critRate="14" critDam="14" maxExp="3188751" />
<level id="5" atk="57" def="85" critRate="15" critDam="15" maxExp="4389633" />
<level id="6" atk="61" def="91" critRate="16" critDam="16" maxExp="5798968" />
<level id="7" atk="65" def="97" critRate="17" critDam="17" maxExp="7444481" />
<level id="8" atk="69" def="103" critRate="18" critDam="18" maxExp="9356589" />
<level id="9" atk="73" def="109" critRate="19" critDam="19" maxExp="11568579" />
<level id="10" atk="77" def="115" critRate="20" critDam="20" maxExp="14116796" />
<itemToEvolve id="91033" count="3" />
<itemToEvolve id="57" count="3000000" />
<absorbItem id="91037" experience="9300" />
</spirit>
<spirit name="Procella - Median Wind Spirit" type="3" stage="3" npcId="13576" extractItem="91041" maxCharacteristics="15">
<level id="1" atk="175" def="175" critRate="31" critDam="31" maxExp="2924039" />
<level id="2" atk="180" def="180" critRate="32" critDam="32" maxExp="6266952" />
<level id="3" atk="185" def="185" critRate="33" critDam="33" maxExp="10075460" />
<level id="4" atk="190" def="190" critRate="34" critDam="34" maxExp="14400173" />
<level id="5" atk="195" def="195" critRate="35" critDam="35" maxExp="19295819" />
<level id="6" atk="200" def="200" critRate="36" critDam="36" maxExp="24821487" />
<level id="7" atk="205" def="205" critRate="37" critDam="37" maxExp="31040875" />
<level id="8" atk="210" def="210" critRate="38" critDam="38" maxExp="38022549" />
<level id="9" atk="215" def="215" critRate="39" critDam="39" maxExp="45840213" />
<level id="10" atk="220" def="220" critRate="40" critDam="40" maxExp="54572992" />
<level id="1" atk="82" def="122" critRate="21" critDam="21" maxExp="2924039" />
<level id="2" atk="87" def="129" critRate="22" critDam="22" maxExp="6266952" />
<level id="3" atk="92" def="136" critRate="23" critDam="23" maxExp="10075460" />
<level id="4" atk="97" def="143" critRate="24" critDam="24" maxExp="14400173" />
<level id="5" atk="102" def="150" critRate="25" critDam="25" maxExp="19295819" />
<level id="6" atk="107" def="157" critRate="26" critDam="26" maxExp="24821487" />
<level id="7" atk="112" def="164" critRate="27" critDam="27" maxExp="31040875" />
<level id="8" atk="117" def="171" critRate="28" critDam="28" maxExp="38022549" />
<level id="9" atk="122" def="178" critRate="29" critDam="29" maxExp="45840213" />
<level id="10" atk="127" def="185" critRate="30" critDam="30" maxExp="54572992" />
<itemToEvolve id="91032" count="5" />
<itemToEvolve id="57" count="5000000" />
<absorbItem id="91037" experience="9300" />
</spirit>
<spirit name="Procella - Elder Wind Spirit" type="3" stage="4" npcId="15947" extractItem="91041" maxCharacteristics="20" >
<level id="1" atk="133" def="193" critRate="31" critDam="31" maxExp="11478124" />
<level id="2" atk="139" def="201" critRate="32" critDam="32" maxExp="31192283" />
<level id="3" atk="145" def="209" critRate="33" critDam="33" maxExp="75614547" />
<level id="4" atk="151" def="217" critRate="34" critDam="34" maxExp="144744916" />
<level id="5" atk="157" def="225" critRate="35" critDam="35" maxExp="238583390" />
<level id="6" atk="163" def="233" critRate="36" critDam="36" maxExp="357129969" />
<level id="7" atk="169" def="241" critRate="37" critDam="37" maxExp="488030601" />
<level id="8" atk="175" def="249" critRate="38" critDam="38" maxExp="625108258" />
<level id="9" atk="181" def="257" critRate="39" critDam="39" maxExp="765274429" />
<level id="10" atk="187" def="265" critRate="40" critDam="40" maxExp="906984857" />
<itemToEvolve id="91032" count="10" />
<itemToEvolve id="57" count="7000000" />
<absorbItem id="91037" experience="9300" />
</spirit>
<spirit name="Procella - Great Wind Spirit" type="3" stage="5" npcId="15948" extractItem="91041" maxCharacteristics="30" >
<level id="1" atk="193" def="274" critRate="41" critDam="41" maxExp="146343197" />
<level id="2" atk="199" def="283" critRate="42" critDam="42" maxExp="306584703" />
<level id="3" atk="205" def="292" critRate="43" critDam="43" maxExp="501571982" />
<level id="4" atk="211" def="301" critRate="44" critDam="44" maxExp="731305034" />
<level id="5" atk="217" def="310" critRate="45" critDam="45" maxExp="995783858" />
<level id="6" atk="223" def="320" critRate="47" critDam="47" maxExp="1295008455" />
<level id="7" atk="229" def="330" critRate="49" critDam="49" maxExp="1611605938" />
<level id="8" atk="235" def="340" critRate="51" critDam="51" maxExp="1936889864" />
<level id="9" atk="241" def="350" critRate="53" critDam="53" maxExp="2266517012" />
<level id="10" atk="247" def="360" critRate="55" critDam="55" maxExp="2598315771" />
<absorbItem id="91037" experience="9300" />
</spirit>
<spirit name="Earth Spirit Seed" type="4" stage="0" npcId="13577" extractItem="0" maxCharacteristics="0">
<level id="1" atk="0" def="0" critRate="0" critDam="0" maxExp="0" />
</spirit>
<spirit name="Petram - Minor Earth Spirit" type="4" stage="1" npcId="13578" extractItem="91042" maxCharacteristics="5">
<level id="1" atk="35" def="35" critRate="1" critDam="1" maxExp="57713" />
<level id="2" atk="40" def="40" critRate="2" critDam="2" maxExp="135313" />
<level id="3" atk="45" def="45" critRate="3" critDam="3" maxExp="238082" />
<level id="4" atk="50" def="50" critRate="4" critDam="4" maxExp="371775" />
<level id="5" atk="55" def="55" critRate="5" critDam="5" maxExp="542993" />
<level id="6" atk="60" def="60" critRate="6" critDam="6" maxExp="759244" />
<level id="7" atk="65" def="65" critRate="7" critDam="7" maxExp="1029008" />
<level id="8" atk="70" def="70" critRate="8" critDam="8" maxExp="1361808" />
<level id="9" atk="75" def="75" critRate="9" critDam="9" maxExp="1768273" />
<level id="10" atk="80" def="80" critRate="10" critDam="10" maxExp="2260211" />
<spirit name="Petram - Minor Earth Spirit" type="4" stage="1" npcId="13578" extractItem="91042" maxCharacteristics="5">
<level id="1" atk="10" def="10" critRate="1" critDam="1" maxExp="57713" />
<level id="2" atk="13" def="15" critRate="2" critDam="2" maxExp="135313" />
<level id="3" atk="16" def="20" critRate="3" critDam="3" maxExp="238082" />
<level id="4" atk="19" def="25" critRate="4" critDam="4" maxExp="371775" />
<level id="5" atk="22" def="30" critRate="5" critDam="5" maxExp="542993" />
<level id="6" atk="25" def="35" critRate="6" critDam="6" maxExp="759244" />
<level id="7" atk="28" def="40" critRate="7" critDam="7" maxExp="1029008" />
<level id="8" atk="31" def="45" critRate="8" critDam="8" maxExp="1361808" />
<level id="9" atk="34" def="50" critRate="9" critDam="9" maxExp="1768273" />
<level id="10" atk="37" def="55" critRate="10" critDam="10" maxExp="2260211" />
<itemToEvolve id="91034" />
<itemToEvolve id="57" count="1000000" />
<absorbItem id="91038" experience="9300" />
</spirit>
<spirit name="Petram - Lesser Earth Spirit" type="4" stage="2" npcId="13579" extractItem="91042" maxCharacteristics="10">
<level id="1" atk="105" def="105" critRate="16" critDam="16" maxExp="596369" />
<level id="2" atk="110" def="110" critRate="17" critDam="17" maxExp="1313872" />
<level id="3" atk="115" def="115" critRate="18" critDam="18" maxExp="2171115" />
<level id="4" atk="120" def="120" critRate="19" critDam="19" maxExp="3188751" />
<level id="5" atk="125" def="125" critRate="20" critDam="20" maxExp="4389633" />
<level id="6" atk="130" def="130" critRate="21" critDam="21" maxExp="5798968" />
<level id="7" atk="135" def="135" critRate="22" critDam="22" maxExp="7444481" />
<level id="8" atk="140" def="140" critRate="23" critDam="23" maxExp="9356589" />
<level id="9" atk="145" def="145" critRate="24" critDam="24" maxExp="11568579" />
<level id="10" atk="150" def="150" critRate="25" critDam="25" maxExp="14116796" />
<level id="1" atk="41" def="61" critRate="11" critDam="11" maxExp="596369" />
<level id="2" atk="45" def="67" critRate="12" critDam="12" maxExp="1313872" />
<level id="3" atk="49" def="73" critRate="13" critDam="13" maxExp="2171115" />
<level id="4" atk="53" def="79" critRate="14" critDam="14" maxExp="3188751" />
<level id="5" atk="57" def="85" critRate="15" critDam="15" maxExp="4389633" />
<level id="6" atk="61" def="91" critRate="16" critDam="16" maxExp="5798968" />
<level id="7" atk="65" def="97" critRate="17" critDam="17" maxExp="7444481" />
<level id="8" atk="69" def="103" critRate="18" critDam="18" maxExp="9356589" />
<level id="9" atk="73" def="109" critRate="19" critDam="19" maxExp="11568579" />
<level id="10" atk="77" def="115" critRate="20" critDam="20" maxExp="14116796" />
<itemToEvolve id="91034" count="3" />
<itemToEvolve id="57" count="3000000" />
<absorbItem id="91038" experience="9300" />
</spirit>
<spirit name="Petram - Median Earth Spirit" type="4" stage="3" npcId="13580" extractItem="91042" maxCharacteristics="15">
<level id="1" atk="175" def="175" critRate="31" critDam="31" maxExp="2924039" />
<level id="2" atk="180" def="180" critRate="32" critDam="32" maxExp="6266952" />
<level id="3" atk="185" def="185" critRate="33" critDam="33" maxExp="10075460" />
<level id="4" atk="190" def="190" critRate="34" critDam="34" maxExp="14400173" />
<level id="5" atk="195" def="195" critRate="35" critDam="35" maxExp="19295819" />
<level id="6" atk="200" def="200" critRate="36" critDam="36" maxExp="24821487" />
<level id="7" atk="205" def="205" critRate="37" critDam="37" maxExp="31040875" />
<level id="8" atk="210" def="210" critRate="38" critDam="38" maxExp="38022549" />
<level id="9" atk="215" def="215" critRate="39" critDam="39" maxExp="45840213" />
<level id="10" atk="220" def="220" critRate="40" critDam="40" maxExp="54572992" />
<level id="1" atk="82" def="122" critRate="21" critDam="21" maxExp="2924039" />
<level id="2" atk="87" def="129" critRate="22" critDam="22" maxExp="6266952" />
<level id="3" atk="92" def="136" critRate="23" critDam="23" maxExp="10075460" />
<level id="4" atk="97" def="143" critRate="24" critDam="24" maxExp="14400173" />
<level id="5" atk="102" def="150" critRate="25" critDam="25" maxExp="19295819" />
<level id="6" atk="107" def="157" critRate="26" critDam="26" maxExp="24821487" />
<level id="7" atk="112" def="164" critRate="27" critDam="27" maxExp="31040875" />
<level id="8" atk="117" def="171" critRate="28" critDam="28" maxExp="38022549" />
<level id="9" atk="122" def="178" critRate="29" critDam="29" maxExp="45840213" />
<level id="10" atk="127" def="185" critRate="30" critDam="30" maxExp="54572992" />
<itemToEvolve id="91032" count="5" /> <!-- TODO confirm evolution requirements -->
<itemToEvolve id="57" count="5000000" />
<absorbItem id="91038" experience="9300" />
</spirit>
<spirit name="Petram - Elder Earth Spirit" type="4" stage="4" npcId="15947" extractItem="91049" maxCharacteristics="20" >
<level id="1" atk="133" def="193" critRate="31" critDam="31" maxExp="11478124" />
<level id="2" atk="139" def="201" critRate="32" critDam="32" maxExp="31192283" />
<level id="3" atk="145" def="209" critRate="33" critDam="33" maxExp="75614547" />
<level id="4" atk="151" def="217" critRate="34" critDam="34" maxExp="144744916" />
<level id="5" atk="157" def="225" critRate="35" critDam="35" maxExp="238583390" />
<level id="6" atk="163" def="233" critRate="36" critDam="36" maxExp="357129969" />
<level id="7" atk="169" def="241" critRate="37" critDam="37" maxExp="488030601" />
<level id="8" atk="175" def="249" critRate="38" critDam="38" maxExp="625108258" />
<level id="9" atk="181" def="257" critRate="39" critDam="39" maxExp="765274429" />
<level id="10" atk="187" def="265" critRate="40" critDam="40" maxExp="906984857" />
<itemToEvolve id="91032" count="10" /> <!-- TODO confirm evolution requirements -->
<itemToEvolve id="57" count="7000000" />
<absorbItem id="91038" experience="9300" />
</spirit>
<spirit name="Petram - Great Earth Spirit" type="4" stage="5" npcId="15948" extractItem="91042" maxCharacteristics="30" >
<level id="1" atk="193" def="274" critRate="41" critDam="41" maxExp="146343197" />
<level id="2" atk="199" def="283" critRate="42" critDam="42" maxExp="306584703" />
<level id="3" atk="205" def="292" critRate="43" critDam="43" maxExp="501571982" />
<level id="4" atk="211" def="301" critRate="44" critDam="44" maxExp="731305034" />
<level id="5" atk="217" def="310" critRate="45" critDam="45" maxExp="995783858" />
<level id="6" atk="223" def="320" critRate="47" critDam="47" maxExp="1295008455" />
<level id="7" atk="229" def="330" critRate="49" critDam="49" maxExp="1611605938" />
<level id="8" atk="235" def="340" critRate="51" critDam="51" maxExp="1936889864" />
<level id="9" atk="241" def="350" critRate="53" critDam="53" maxExp="2266517012" />
<level id="10" atk="247" def="360" critRate="55" critDam="55" maxExp="2598315771" />
<absorbItem id="91038" experience="9300" />
</spirit>
</list>

View File

@@ -126,7 +126,7 @@ public class Q00255_Tutorial extends Quest
COMPLETE_LOCATION.put(49, new Location(-45032, -113598, -192));
COMPLETE_LOCATION.put(53, new Location(115632, -177996, -905));
}
private static final String TUTORIAL_BUYPASS = "Quest Q00255_Tutorial ";
private static final String TUTORIAL_BYPASS = "Quest Q00255_Tutorial ";
private static final int QUESTION_MARK_ID_1 = 1;
private static final int QUESTION_MARK_ID_2 = 5;
private static final int QUESTION_MARK_ID_3 = 28;
@@ -396,9 +396,9 @@ public class Q00255_Tutorial extends Quest
public void OnPlayerBypass(OnPlayerBypass event)
{
final PlayerInstance player = event.getPlayer();
if (event.getCommand().startsWith(TUTORIAL_BUYPASS))
if (event.getCommand().startsWith(TUTORIAL_BYPASS))
{
notifyEvent(event.getCommand().replace(TUTORIAL_BUYPASS, ""), null, player);
notifyEvent(event.getCommand().replace(TUTORIAL_BYPASS, ""), null, player);
}
}

View File

@@ -90,12 +90,7 @@
<class classId="116" name="Doom Cryer" parentClassId="52" />
<class classId="117" name="Fortune Seeker" parentClassId="55" />
<class classId="118" name="Maestro" parentClassId="57" />
<!-- NPCs -->
<class classId="119" name="World Trap" />
<class classId="120" name="Player Trap" />
<class classId="121" name="Double Ghost" />
<class classId="122" name="Siege Attacker" />
<!-- Third Classes Kamael -->
<!-- Kamael -->
<class classId="123" name="Male Kamael Soldier" />
<class classId="124" name="Female Kamael Soldier" />
<class classId="125" name="Trooper" parentClassId="123" />
@@ -155,9 +150,9 @@
<class classId="179" name="Aeore Cardinal" parentClassId="97" />
<class classId="180" name="Aeore Eva's Saint" parentClassId="105" />
<class classId="181" name="Aeore Shillien Saint" parentClassId="112" />
<!-- Etheria -->
<class classId="182" name="Etheria Fighter" />
<class classId="183" name="Etheria Wizard" />
<!-- Ertheia -->
<class classId="182" name="Ertheia Fighter" />
<class classId="183" name="Ertheia Wizard" />
<class classId="184" name="Marauder" parentClassId="182" />
<class classId="185" name="Cloud Breaker" parentClassId="183" />
<class classId="186" name="Ripper" parentClassId="184" />

View File

@@ -354,6 +354,7 @@
<set name="is_dropable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_tradable" val="false" />
</item>
<item id="91040" name="Fire Attribute Fragment" type="EtcItem">
<!-- A material filled with the power of Fire Attribute. Can be used to create equipment with the power of Fire Attribute. -->
@@ -361,6 +362,7 @@
<set name="is_dropable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_tradable" val="false" />
</item>
<item id="91041" name="Wind Attribute Fragment" type="EtcItem">
<!-- A material filled with the power of Wind Attribute. Can be used to create equipment with the power of Wind Attribute. -->
@@ -368,6 +370,7 @@
<set name="is_dropable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_tradable" val="false" />
</item>
<item id="91042" name="Earth Attribute Fragment" type="EtcItem">
<!-- A material filled with the power of Earth Attribute. Can be used to create equipment with the power of Earth Attribute. -->
@@ -375,6 +378,7 @@
<set name="is_dropable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_tradable" val="false" />
</item>
<item id="91043" name="Nebula’s Old Necklace" additionalName="Lv1" type="Armor">
<!-- MP +35, Water Attack Defense +20, Acquired Attribute XP +3%. Cannot be enchanted using enchanting items. -->

View File

@@ -14,7 +14,7 @@
<xs:attribute type="xs:short" name="def" use="required"/>
<xs:attribute type="xs:byte" name="critRate" use="required"/>
<xs:attribute type="xs:byte" name="critDam" use="required"/>
<xs:attribute type="xs:int" name="maxExp" use="required"/>
<xs:attribute type="xs:long" name="maxExp" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

View File

@@ -194,7 +194,7 @@ public class SkillTreesData implements IXmlReader
if (attr != null)
{
cId = Integer.parseInt(attr.getNodeValue());
classId = ClassId.values()[cId];
classId = ClassId.getClassId(cId);
}
else
{
@@ -219,7 +219,7 @@ public class SkillTreesData implements IXmlReader
parentClassId = Integer.parseInt(attr.getNodeValue());
if ((cId > -1) && (cId != parentClassId) && (parentClassId > -1) && !_parentClassMap.containsKey(classId))
{
_parentClassMap.put(classId, ClassId.values()[parentClassId]);
_parentClassMap.put(classId, ClassId.getClassId(parentClassId));
}
}

View File

@@ -39,12 +39,22 @@ public enum ElementalType
return values()[elementId];
}
public ElementalType getDominating()
public boolean isSuperior(ElementalType targetType)
{
return dominating(this);
return this == superior(targetType);
}
public ElementalType dominating(ElementalType elementalType)
public boolean isInferior(ElementalType targetType)
{
return targetType == superior(this);
}
public ElementalType getSuperior()
{
return superior(this);
}
public static ElementalType superior(ElementalType elementalType)
{
switch (elementalType)
{
@@ -69,6 +79,7 @@ public enum ElementalType
return NONE;
}
}
}
public Stats getAttackStat()

View File

@@ -252,6 +252,17 @@ public class WorldRegion
public void setSurroundingRegions(WorldRegion[] regions)
{
_surroundingRegions = regions;
// Make sure that this region is always the first region to improve bulk operations when this region should be updated first.
for (int i = 0; i < _surroundingRegions.length; i++)
{
if (_surroundingRegions[i] == this)
{
final WorldRegion first = _surroundingRegions[0];
_surroundingRegions[0] = this;
_surroundingRegions[i] = first;
}
}
}
public WorldRegion[] getSurroundingRegions()

View File

@@ -641,7 +641,7 @@ public class Attackable extends Npc
if ((player.getActiveElementalSpiritType() > 0) && (getAttributeExp() > 0) && (getElementalSpiritType() != ElementalType.NONE))
{
final long attributeExp = (long) (((getAttributeExp() * damage) / totalDamage) * player.getElementalSpiritXpBonus());
final ElementalSpirit spirit = player.getElementalSpirit(getElementalSpiritType().getDominating());
final ElementalSpirit spirit = player.getElementalSpirit(getElementalSpiritType().getSuperior());
if (spirit != null)
{
spirit.addExperience(attributeExp);

View File

@@ -4544,7 +4544,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
value *= (100 + _stat.getValue(Stats.PVE_DAMAGE_TAKEN)) / 100;
}
elementalDamage = Formulas.calcSpiritElementalDamage(attacker, this);
elementalDamage = Formulas.calcSpiritElementalDamage(attacker, this, value);
value += elementalDamage;
}

View File

@@ -1234,7 +1234,7 @@ public class PlayerInstance extends Playable
public void setBaseClass(ClassId classId)
{
_baseClass = classId.ordinal();
_baseClass = classId.getId();
}
public boolean isInStoreMode()

View File

@@ -16,7 +16,9 @@
*/
package org.l2jmobius.gameserver.model.base;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.l2jmobius.gameserver.enums.Race;
@@ -103,37 +105,6 @@ public enum ClassId implements IIdentifiable
ARTISAN(56, false, Race.DWARF, DWARVEN_FIGHTER),
WARSMITH(57, false, Race.DWARF, ARTISAN),
DUMMY_ENTRY_1(58, false, null, null),
DUMMY_ENTRY_2(59, false, null, null),
DUMMY_ENTRY_3(60, false, null, null),
DUMMY_ENTRY_4(61, false, null, null),
DUMMY_ENTRY_5(62, false, null, null),
DUMMY_ENTRY_6(63, false, null, null),
DUMMY_ENTRY_7(64, false, null, null),
DUMMY_ENTRY_8(65, false, null, null),
DUMMY_ENTRY_9(66, false, null, null),
DUMMY_ENTRY_10(67, false, null, null),
DUMMY_ENTRY_11(68, false, null, null),
DUMMY_ENTRY_12(69, false, null, null),
DUMMY_ENTRY_13(70, false, null, null),
DUMMY_ENTRY_14(71, false, null, null),
DUMMY_ENTRY_15(72, false, null, null),
DUMMY_ENTRY_16(73, false, null, null),
DUMMY_ENTRY_17(74, false, null, null),
DUMMY_ENTRY_18(75, false, null, null),
DUMMY_ENTRY_19(76, false, null, null),
DUMMY_ENTRY_20(77, false, null, null),
DUMMY_ENTRY_21(78, false, null, null),
DUMMY_ENTRY_22(79, false, null, null),
DUMMY_ENTRY_23(80, false, null, null),
DUMMY_ENTRY_24(81, false, null, null),
DUMMY_ENTRY_25(82, false, null, null),
DUMMY_ENTRY_26(83, false, null, null),
DUMMY_ENTRY_27(84, false, null, null),
DUMMY_ENTRY_28(85, false, null, null),
DUMMY_ENTRY_29(86, false, null, null),
DUMMY_ENTRY_30(87, false, null, null),
DUELIST(88, false, Race.HUMAN, GLADIATOR),
DREADNOUGHT(89, false, Race.HUMAN, WARLORD),
PHOENIX_KNIGHT(90, false, Race.HUMAN, PALADIN),
@@ -169,12 +140,7 @@ public enum ClassId implements IIdentifiable
FORTUNE_SEEKER(117, false, Race.DWARF, BOUNTY_HUNTER),
MAESTRO(118, false, Race.DWARF, WARSMITH),
DUMMY_ENTRY_31(119, false, null, null),
DUMMY_ENTRY_32(120, false, null, null),
DUMMY_ENTRY_33(121, false, null, null),
DUMMY_ENTRY_34(122, false, null, null),
MALE_SOLDIER(123, false, Race.KAMAEL, null),
FEMALE_SOLDIER(124, false, Race.KAMAEL, null),
TROOPER(125, false, Race.KAMAEL, MALE_SOLDIER),
@@ -189,10 +155,7 @@ public enum ClassId implements IIdentifiable
TRICKSTER(134, false, Race.KAMAEL, ARBALESTER),
INSPECTOR(135, false, Race.KAMAEL, WARDER),
JUDICATOR(136, false, Race.KAMAEL, INSPECTOR),
DUMMY_ENTRY_35(137, false, null, null),
DUMMY_ENTRY_36(138, false, null, null),
SIGEL_KNIGHT(139, false, null, null),
TYRR_WARRIOR(140, false, null, null),
OTHELL_ROGUE(141, false, null, null),
@@ -201,9 +164,7 @@ public enum ClassId implements IIdentifiable
ISS_ENCHANTER(144, false, null, null),
WYNN_SUMMONER(145, false, null, null),
AEORE_HEALER(146, false, null, null),
DUMMY_ENTRY_37(147, false, null, null),
SIGEL_PHOENIX_KNIGHT(148, false, Race.HUMAN, PHOENIX_KNIGHT),
SIGEL_HELL_KNIGHT(149, false, Race.HUMAN, HELL_KNIGHT),
SIGEL_EVA_TEMPLAR(150, false, Race.ELF, EVA_TEMPLAR),
@@ -269,6 +230,20 @@ public enum ClassId implements IIdentifiable
/** List of available Class for next transfer **/
private final Set<ClassId> _nextClassIds = new HashSet<>(1);
private static Map<Integer, ClassId> _classIdMap = new HashMap<>(ClassId.values().length);
static
{
for (ClassId classId : ClassId.values())
{
_classIdMap.put(classId.getId(), classId);
}
}
public static ClassId getClassId(int cId)
{
return _classIdMap.get(cId);
}
/**
* Class constructor.
* @param pId the class Id.
@@ -363,7 +338,6 @@ public enum ClassId implements IIdentifiable
}
return _parent.childOf(cid);
}
/**
@@ -413,18 +387,6 @@ public enum ClassId implements IIdentifiable
return _nextClassIds;
}
public static ClassId getClassId(int cId)
{
try
{
return ClassId.values()[cId];
}
catch (Exception e)
{
return null;
}
}
private final void addNextClassId(ClassId cId)
{
_nextClassIds.add(cId);

View File

@@ -1654,7 +1654,7 @@ public class Formulas
return 1;
}
public static double calcSpiritElementalDamage(Creature attacker, Creature target)
public static double calcSpiritElementalDamage(Creature attacker, Creature target, double baseDamage)
{
if (attacker.isPlayer())
{
@@ -1667,63 +1667,54 @@ public class Formulas
}
final double critRate = attackerPlayer.getElementalSpiritCritRate();
final boolean isCrit = Math.min(critRate, 380) > Rnd.get(1000);
final boolean isCrit = Math.min(critRate * 10, 380) > Rnd.get(1000);
final double critDamage = attackerPlayer.getElementalSpiritCritDamage();
final double attack = attackerPlayer.getActiveElementalSpiritAttack() - target.getElementalSpiritDefenseOf(type);
final double attack = (attackerPlayer.getActiveElementalSpiritAttack() - target.getElementalSpiritDefenseOf(type)) + Rnd.get(-2, 8);
if (target.isPlayer())
{
return calcSpiritElementalPvPDamage(attack, critDamage, isCrit);
return calcSpiritElementalPvPDamage(attack, critDamage, isCrit, baseDamage);
}
return calcSpiritElementalPvEDamage(type, target.getElementalSpiritType(), attack, critDamage, isCrit);
return calcSpiritElementalPvEDamage(type, target.getElementalSpiritType(), attack, critDamage, isCrit, baseDamage);
}
return 0;
}
private static double calcSpiritElementalPvPDamage(double attack, double critDamage, boolean isCrit)
private static double calcSpiritElementalPvPDamage(double attack, double critDamage, boolean isCrit, double baseDamage)
{
double damage = (attack * 1.223) + Rnd.get(-20, +20);
double base = Math.abs(attack * 1.3);
if (isCrit)
{
damage += (attack * 1.223) + (((attack * 0.03) + 24) * critDamage) + Rnd.get(-5, 30);
base += Math.abs((attack * 1.223) + (((attack * 0.03) + 24) * critDamage) + Rnd.get(-5, 30));
}
return damage;
return ((base * attack) + (baseDamage * 0.3)) / Math.log(baseDamage);
}
private static double calcSpiritElementalPvEDamage(ElementalType attackerType, ElementalType targetType, double attack, double critDamage, boolean isCrit)
private static double calcSpiritElementalPvEDamage(ElementalType attackerType, ElementalType targetType, double attack, double critDamage, boolean isCrit, double baseDamage)
{
double damage;
double baseDamage = (attack * 0.8) + Rnd.get(-25, 25);
double bonus = 1;
if (targetType == ElementalType.NONE)
double damage = Math.abs(attack * 0.8);
double bonus;
if (attackerType.isSuperior(targetType))
{
damage = attack * 0.735;
}
else if (attackerType.getDominating() == targetType)
{
damage = (-1136 + baseDamage) * 0.6;
bonus = 0.6;
}
else if (targetType.getDominating() == attackerType)
{
damage = (185 + baseDamage) * 1.2;
bonus = 1.2;
damage *= 1.3;
bonus = 1.3;
}
else if (targetType == attackerType)
{
damage = baseDamage;
bonus = 1.1;
}
else
{
damage = (-477 + baseDamage) * 0.8;
bonus = 0.8;
damage *= 1.1;
bonus = 1.1;
}
if (isCrit)
{
damage += ((40 + ((9.2 + (attack * 0.048)) * critDamage)) * bonus) + Rnd.get(-10, 50);
damage += Math.abs(((40 + ((9.2 + (attack * 0.048)) * critDamage)) * bonus) + Rnd.get(-10, 50));
}
return damage;
return ((damage * attack) + (baseDamage * bonus)) / Math.log(baseDamage);
}
}