Implementation of the Certification Skill system.

Contributed by Iris.
This commit is contained in:
MobiusDevelopment
2022-10-08 14:08:49 +00:00
parent 01cc1c1303
commit 05eae2c23c
37 changed files with 881 additions and 334 deletions

View File

@@ -2,7 +2,8 @@
Hm, Lately there have been rumor about a limited opening of a border with Elmore, but it's not clear whether it's misheard talks from bigwigs or they're going to tighten the crews even more instead.....<br>
You see, my brother moved to Elmore hoping to start a trading business there..... And I'm worried that I won't be able to see him again even once.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy 3084001">Purchase Spellbooks, Amulets and Blueprints</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 3084002">Exchange a Spellbook (avaiable after 3rd CLass Tranfer)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 3084002">Exchange 3rd Class Spellbooks</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_SkillList">Learn certification skills</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">Learn about the local governor and taxes</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@@ -7,7 +7,7 @@
<skill skillName="Expertise B" skillId="239" skillLevel="3" getLevel="52" autoGet="true" />
<skill skillName="Expertise A" skillId="239" skillLevel="4" getLevel="61" autoGet="true" />
<skill skillName="Expertise S" skillId="239" skillLevel="5" getLevel="76" autoGet="true" />
<skill skillName="Pirate" skillId="1800" skillLevel="1" getLevel="45" autoGet="true" />
<skill skillName="Dark Assassin" skillId="1801" skillLevel="1" getLevel="60" autoGet="true" />
<skill skillName="White Assassin" skillId="1802" skillLevel="1" getLevel="70" autoGet="true" />

View File

@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/skillTrees.xsd">
<skillTree type="certificationSkillTree">
<skill skillName="Dye of War" skillId="51271" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dye of War" skillId="51271" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dye of War" skillId="51271" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dye of War" skillId="51271" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="30" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dye of War" skillId="51271" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="45" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Didactic" skillId="51272" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="1" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Didactic" skillId="51272" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Didactic" skillId="51272" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="4" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Didactic" skillId="51272" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Didactic" skillId="51272" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Courage Mastery" skillId="51273" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Courage Mastery" skillId="51273" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Courage Mastery" skillId="51273" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Courage Mastery" skillId="51273" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="30" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Courage Mastery" skillId="51273" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="45" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Honor Recovery" skillId="51274" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Honor Recovery" skillId="51274" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Honor Recovery" skillId="51274" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Honor Recovery" skillId="51274" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="30" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Honor Recovery" skillId="51274" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="45" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Sword Resist" skillId="51275" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="1" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Sword Resist" skillId="51275" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Sword Resist" skillId="51275" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="4" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Sword Resist" skillId="51275" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Sword Resist" skillId="51275" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Blunt Resist" skillId="51276" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="1" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Blunt Resist" skillId="51276" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Blunt Resist" skillId="51276" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="4" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Blunt Resist" skillId="51276" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Blunt Resist" skillId="51276" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Spear Resist" skillId="51277" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="1" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Spear Resist" skillId="51277" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Spear Resist" skillId="51277" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="4" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Spear Resist" skillId="51277" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Spear Resist" skillId="51277" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Fist Weapon Resist" skillId="51278" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="1" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Fist Weapon Resist" skillId="51278" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Fist Weapon Resist" skillId="51278" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="4" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Fist Weapon Resist" skillId="51278" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Fist Weapon Resist" skillId="51278" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dagger Resist" skillId="51279" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="1" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dagger Resist" skillId="51279" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dagger Resist" skillId="51279" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="4" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dagger Resist" skillId="51279" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dagger Resist" skillId="51279" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Bow Resist" skillId="51280" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="1" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Bow Resist" skillId="51280" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Bow Resist" skillId="51280" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="4" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Bow Resist" skillId="51280" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Bow Resist" skillId="51280" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dual Sword Resist" skillId="51281" skillLevel="1" getLevel="1" learnedByNpc="true">
<item id="91481" count="1" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dual Sword Resist" skillId="51281" skillLevel="2" getLevel="1" learnedByNpc="true">
<item id="91481" count="3" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dual Sword Resist" skillId="51281" skillLevel="3" getLevel="1" learnedByNpc="true">
<item id="91481" count="4" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dual Sword Resist" skillId="51281" skillLevel="4" getLevel="1" learnedByNpc="true">
<item id="91481" count="10" /> <!-- Soul Crystal -->
</skill>
<skill skillName="Dual Sword Resist" skillId="51281" skillLevel="5" getLevel="1" learnedByNpc="true">
<item id="91481" count="15" /> <!-- Soul Crystal -->
</skill>
</skillTree>
</list>

View File

@@ -19,7 +19,7 @@ parentClassId = CLASS ID PARENT
type = SKILL TREE types like:
- classSkillTree
- collectSkillTree
- certificationSkillTree
- fishingSkillTree
- gameMasterAuraSkillTree
- gameMasterSkillTree

View File

@@ -298,26 +298,88 @@
<skill id="51247" toLevel="1" name="Disarm">
<!-- For 5 sec. makes target's and nearby enemies' weapon useless, P./ M. Atk. -30%, Speed -10%. -->
<icon>icon.skill0485</icon>
<operateType>A1</operateType>
<isDebuff>true</isDebuff>
<castRange>600</castRange>
<abnormalLevel>1</abnormalLevel>
<abnormalTime>5</abnormalTime>
<abnormalType>DISARM</abnormalType>
<abnormalVisualEffect>DOT_BLEEDING</abnormalVisualEffect>
<activateRate>70</activateRate>
<affectLimit>6-12</affectLimit>
<affectRange>200</affectRange>
<basicProperty>PHYSICAL</basicProperty>
<effectPoint>-341</effectPoint>
<hitTime>1500</hitTime>
<coolTime>500</coolTime>
<reuseDelay>120000</reuseDelay>
<effectPoint>-341</effectPoint>
<icon>icon.skill0794</icon>
<isDebuff>true</isDebuff>
<lvlBonusRate>20</lvlBonusRate>
<magicLevel>79</magicLevel>
<mpConsume>205</mpConsume>
<operateType>A2</operateType>
<reuseDelay>60000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<trait>DISARM</trait>
<targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<effects>
<effect name="Disarm">
</effect>
<effect name="PAtk">
<amount>-30</amount>
<mode>PER</mode>
</effect>
<effect name="MAtk">
<amount>-30</amount>
<mode>PER</mode>
</effect>
<effect name="Speed">
<amount>-10</amount>
<mode>PER</mode>
</effect>
</effects>
</skill>
<skill id="51248" toLevel="1" name="Armor Break">
<!-- For 5 sec. makes target's and nearby enemies' armor useless, P./ M. Def. -30%, Speed -10%. -->
<icon>icon.skill10703</icon>
<operateType>A1</operateType>
<isDebuff>true</isDebuff>
<castRange>600</castRange>
<abnormalLevel>1</abnormalLevel>
<abnormalTime>5</abnormalTime>
<abnormalType>DISARM</abnormalType>
<abnormalVisualEffect>DOT_BLEEDING</abnormalVisualEffect>
<activateRate>70</activateRate>
<affectLimit>6-12</affectLimit>
<affectRange>200</affectRange>
<basicProperty>PHYSICAL</basicProperty>
<effectPoint>-341</effectPoint>
<hitTime>1500</hitTime>
<coolTime>500</coolTime>
<reuseDelay>120000</reuseDelay>
<effectPoint>-341</effectPoint>
<icon>icon.skill0794</icon>
<isDebuff>true</isDebuff>
<lvlBonusRate>20</lvlBonusRate>
<magicLevel>79</magicLevel>
<mpConsume>205</mpConsume>
<operateType>A2</operateType>
<reuseDelay>60000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<trait>DISARM</trait>
<targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<effects>
<effect name="Disarmor">
</effect>
<effect name="PAtk">
<amount>-30</amount>
<mode>PER</mode>
</effect>
<effect name="MAtk">
<amount>-30</amount>
<mode>PER</mode>
</effect>
<effect name="Speed">
<amount>-10</amount>
<mode>PER</mode>
</effect>
</effects>
</skill>
<skill id="51249" toLevel="1" name="Spell Break">
<!-- For 5 sec. makes target's and nearby enemies' Skills useless. -->
@@ -355,11 +417,42 @@
<skill id="51252" toLevel="1" name="Berserker Mode">
<!-- For 20 sec. P./ M. Atk., and Atk./ Casting Spd. +50%. Cannot be stacked with Berserker Spirit that will be available after transformation into Dragon Berserker. -->
<icon>icon.skill10274</icon>
<operateType>A1</operateType>
<hitTime>2000</hitTime>
<reuseDelay>300000</reuseDelay>
<effectPoint>20</effectPoint>
<mpConsume>200</mpConsume>
<abnormalLevel>3</abnormalLevel>
<abnormalTime>20</abnormalTime>
<abnormalType>BERSERKER</abnormalType>
<castRange>1200</castRange>
<effectRange>1400</effectRange>
<isMagic>4</isMagic> <!-- Item Skill -->
<isTriggeredSkill>true</isTriggeredSkill>
<magicLevel>80</magicLevel>
<operateType>A2</operateType>
<basicProperty>NONE</basicProperty>
<magicCriticalRate>-5</magicCriticalRate>
<targetType>TARGET</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="PAtk">
<amount>50</amount>
<mode>PER</mode>
</effect>
<effect name="MAtk">
<amount>50</amount>
<mode>PER</mode>
</effect>
<effect name="PhysicalAttackSpeed">
<amount>50</amount>
<mode>PER</mode>
</effect>
<effect name="MagicalAttackSpeed">
<amount>50</amount>
<mode>PER</mode>
</effect>
<effect name="DamageShield">
<amount>15</amount>
</effect>
</effects>
</skill>
<skill id="51253" toLevel="1" name="Elmoreden XP Scroll">
<!-- 500,000 XP. -->
@@ -516,6 +609,15 @@
<value level="5">30</value>
</amount>
</effect>
<effect name="SpModify">
<amount>
<value level="1">5</value>
<value level="2">7</value>
<value level="3">12</value>
<value level="4">20</value>
<value level="5">30</value>
</amount>
</effect>
</effects>
</skill>
<skill id="51273" toLevel="5" name="Courage Mastery">
@@ -544,11 +646,11 @@
<effects>
<effect name="ReduceDropPenalty">
<exp>
<value level="1">0</value>
<value level="2">0</value>
<value level="3">0</value>
<value level="4">0</value>
<value level="5">0</value>
<value level="1">-5</value>
<value level="2">-10</value>
<value level="3">-15</value>
<value level="4">-20</value>
<value level="5">-25</value>
</exp>
<deathPenalty>
<value level="1">-5</value>
@@ -558,7 +660,7 @@
<value level="5">-25</value>
</deathPenalty>
<mode>PER</mode>
<type>PK</type>
<type>ANY</type>
</effect>
</effects>
</skill>

View File

@@ -143,7 +143,7 @@
<xs:enumeration value="alchemySkillTree" />
<xs:enumeration value="awakeningSaveSkillTree" />
<xs:enumeration value="classSkillTree" />
<xs:enumeration value="collectSkillTree" />
<xs:enumeration value="certificationSkillTree" />
<xs:enumeration value="dualClassSkillTree" />
<xs:enumeration value="fishingSkillTree" />
<xs:enumeration value="gameMasterAuraSkillTree" />