Support for Certificate - Dual Class (Enhanced).

This commit is contained in:
MobiusDevelopment 2020-12-22 22:10:59 +00:00
parent a03c589758
commit d8c8007487
4 changed files with 17 additions and 5 deletions

View File

@ -9,4 +9,7 @@ Now, what level of certification do you want?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Gallias dualCertify 4">"Level 101 Skill Certification."</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Gallias dualCertify 4">"Level 101 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Gallias dualCertify 5">"Level 103 Skill Certification."</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Gallias dualCertify 5">"Level 103 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Gallias dualCertify 6">"Level 105 Skill Certification."</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Gallias dualCertify 6">"Level 105 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Gallias dualCertify 7">"Level 107 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Gallias dualCertify 8">"Level 109 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Gallias dualCertify 9">"Level 110 Skill Certification."</Button>
</body></html> </body></html>

View File

@ -47,12 +47,13 @@ public class Gallias extends AbstractNpcAI
// Items // Items
private static final int SUB_CERTIFICATE = 10280; private static final int SUB_CERTIFICATE = 10280;
private static final int DUAL_CERTIFICATE = 36078; private static final int DUAL_CERTIFICATE = 36078;
private static final int DUAL_CERTIFICATE_ENHANCED = 81731;
private static final int ENERGY_OF_POWER = 80924; private static final int ENERGY_OF_POWER = 80924;
// Skills // Skills
private static final int DUAL_CLASS_RENEWED_ENERGY_OF_POWER = 30820; private static final int DUAL_CLASS_RENEWED_ENERGY_OF_POWER = 30820;
// Misc @formatter:off // Misc @formatter:off
private static final int[] SUB_SKILL_LEVELS = {65, 70, 75, 80}; private static final int[] SUB_SKILL_LEVELS = {65, 70, 75, 80};
private static final int[] DUAL_SKILL_LEVELS = {85, 90, 95, 99, 101, 103, 105}; private static final int[] DUAL_SKILL_LEVELS = {85, 90, 95, 99, 101, 103, 105, 107, 109, 110};
// @formatter:on // @formatter:on
private static final String SUB_CERTIFICATE_COUNT_VAR = "SUB_CERTIFICATE_COUNT"; private static final String SUB_CERTIFICATE_COUNT_VAR = "SUB_CERTIFICATE_COUNT";
private static final String DUAL_CERTIFICATE_COUNT_VAR = "DUAL_CERTIFICATE_COUNT"; private static final String DUAL_CERTIFICATE_COUNT_VAR = "DUAL_CERTIFICATE_COUNT";
@ -275,7 +276,7 @@ public class Gallias extends AbstractNpcAI
{ {
player.getVariables().set(DUAL_CERTIFICATE_COUNT_VAR, currentCount + 1); player.getVariables().set(DUAL_CERTIFICATE_COUNT_VAR, currentCount + 1);
vars.set(getDualSkillVariableName(level), true); vars.set(getDualSkillVariableName(level), true);
giveItems(player, DUAL_CERTIFICATE, 1); giveItems(player, level < 7 ? DUAL_CERTIFICATE : DUAL_CERTIFICATE_ENHANCED, 1);
} }
htmltext = getHtm(player, "34514-29.html"); htmltext = getHtm(player, "34514-29.html");
} }
@ -289,7 +290,7 @@ public class Gallias extends AbstractNpcAI
{ {
htmltext = "34514-30.html"; htmltext = "34514-30.html";
} }
else if (!ownsAtLeastOneItem(player, DUAL_CERTIFICATE)) else if (!ownsAtLeastOneItem(player, DUAL_CERTIFICATE) && !ownsAtLeastOneItem(player, DUAL_CERTIFICATE_ENHANCED))
{ {
htmltext = "34514-31.html"; htmltext = "34514-31.html";
} }
@ -323,7 +324,9 @@ public class Gallias extends AbstractNpcAI
{ {
htmltext = null; // TODO: Unknown html htmltext = null; // TODO: Unknown html
takeItems(player, DUAL_CERTIFICATE, -1); takeItems(player, DUAL_CERTIFICATE, -1);
takeItems(player, DUAL_CERTIFICATE_ENHANCED, -1);
player.getWarehouse().destroyItemByItemId("Quest", DUAL_CERTIFICATE, -1, player, npc); player.getWarehouse().destroyItemByItemId("Quest", DUAL_CERTIFICATE, -1, player, npc);
player.getWarehouse().destroyItemByItemId("Quest", DUAL_CERTIFICATE_ENHANCED, -1, player, npc);
takeItems(player, Inventory.ADENA_ID, Config.FEE_DELETE_DUALCLASS_SKILLS); takeItems(player, Inventory.ADENA_ID, Config.FEE_DELETE_DUALCLASS_SKILLS);
player.getVariables().remove(DUAL_CERTIFICATE_COUNT_VAR); player.getVariables().remove(DUAL_CERTIFICATE_COUNT_VAR);

View File

@ -9,4 +9,7 @@ Now, what level of certification do you want?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Trandon dualCertify 4">"Level 101 Skill Certification."</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Trandon dualCertify 4">"Level 101 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Trandon dualCertify 5">"Level 103 Skill Certification."</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Trandon dualCertify 5">"Level 103 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Trandon dualCertify 6">"Level 105 Skill Certification."</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Trandon dualCertify 6">"Level 105 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Trandon dualCertify 7">"Level 107 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Trandon dualCertify 8">"Level 109 Skill Certification."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Trandon dualCertify 9">"Level 110 Skill Certification."</Button>
</body></html> </body></html>

View File

@ -48,6 +48,7 @@ public class Trandon extends AbstractNpcAI
// Items // Items
private static final int SUB_CERTIFICATE = 10280; private static final int SUB_CERTIFICATE = 10280;
private static final int DUAL_CERTIFICATE = 36078; private static final int DUAL_CERTIFICATE = 36078;
private static final int DUAL_CERTIFICATE_ENHANCED = 81731;
// Misc @formatter:off // Misc @formatter:off
private static final int[] SUB_SKILL_LEVELS = {65, 70, 75, 80}; private static final int[] SUB_SKILL_LEVELS = {65, 70, 75, 80};
private static final int[] DUAL_SKILL_LEVELS = {85, 90, 95, 99, 101, 103, 105, 107, 109, 110}; private static final int[] DUAL_SKILL_LEVELS = {85, 90, 95, 99, 101, 103, 105, 107, 109, 110};
@ -270,7 +271,7 @@ public class Trandon extends AbstractNpcAI
{ {
player.getVariables().set(DUAL_CERTIFICATE_COUNT_VAR, currentCount + 1); player.getVariables().set(DUAL_CERTIFICATE_COUNT_VAR, currentCount + 1);
vars.set(getDualSkillVariableName(level), true); vars.set(getDualSkillVariableName(level), true);
giveItems(player, DUAL_CERTIFICATE, 1); giveItems(player, level < 7 ? DUAL_CERTIFICATE : DUAL_CERTIFICATE_ENHANCED, 1);
} }
htmltext = getHtm(player, "33490-29.html"); htmltext = getHtm(player, "33490-29.html");
} }
@ -284,7 +285,7 @@ public class Trandon extends AbstractNpcAI
{ {
htmltext = "33490-30.html"; htmltext = "33490-30.html";
} }
else if (!ownsAtLeastOneItem(player, DUAL_CERTIFICATE)) else if (!ownsAtLeastOneItem(player, DUAL_CERTIFICATE) && !ownsAtLeastOneItem(player, DUAL_CERTIFICATE_ENHANCED))
{ {
htmltext = "33490-31.html"; htmltext = "33490-31.html";
} }
@ -318,7 +319,9 @@ public class Trandon extends AbstractNpcAI
{ {
htmltext = null; // TODO: Unknown html htmltext = null; // TODO: Unknown html
takeItems(player, DUAL_CERTIFICATE, -1); takeItems(player, DUAL_CERTIFICATE, -1);
takeItems(player, DUAL_CERTIFICATE_ENHANCED, -1);
player.getWarehouse().destroyItemByItemId("Quest", DUAL_CERTIFICATE, -1, player, npc); player.getWarehouse().destroyItemByItemId("Quest", DUAL_CERTIFICATE, -1, player, npc);
player.getWarehouse().destroyItemByItemId("Quest", DUAL_CERTIFICATE_ENHANCED, -1, player, npc);
takeItems(player, Inventory.ADENA_ID, Config.FEE_DELETE_DUALCLASS_SKILLS); takeItems(player, Inventory.ADENA_ID, Config.FEE_DELETE_DUALCLASS_SKILLS);
player.getVariables().remove(DUAL_CERTIFICATE_COUNT_VAR); player.getVariables().remove(DUAL_CERTIFICATE_COUNT_VAR);