Probable fixes for class transfer quest issues.
This commit is contained in:
parent
11970585d4
commit
921e27c486
@ -121,8 +121,11 @@ public final class Q10360_CertificationOfFate extends Quest
|
|||||||
case "30288-04.htm":
|
case "30288-04.htm":
|
||||||
case "30289-04.htm":
|
case "30289-04.htm":
|
||||||
{
|
{
|
||||||
st.startQuest();
|
if (!player.isSubClassActive())
|
||||||
htmltext = event;
|
{
|
||||||
|
st.startQuest();
|
||||||
|
htmltext = event;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "teleport":
|
case "teleport":
|
||||||
@ -201,6 +204,11 @@ public final class Q10360_CertificationOfFate extends Quest
|
|||||||
}
|
}
|
||||||
else if (event.startsWith("classChange;"))
|
else if (event.startsWith("classChange;"))
|
||||||
{
|
{
|
||||||
|
if (player.isSubClassActive())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
final ClassId newClassId = ClassId.getClassId(Integer.parseInt(event.replace("classChange;", "")));
|
final ClassId newClassId = ClassId.getClassId(Integer.parseInt(event.replace("classChange;", "")));
|
||||||
final ClassId currentClassId = player.getClassId();
|
final ClassId currentClassId = player.getClassId();
|
||||||
|
|
||||||
|
@ -206,7 +206,10 @@ public final class Q10751_WindsOfFateEncounters extends Quest
|
|||||||
final ClassId newClass = ClassId.CLOUD_BREAKER;
|
final ClassId newClass = ClassId.CLOUD_BREAKER;
|
||||||
if (qs.isCond(9) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(9) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
@ -223,7 +226,10 @@ public final class Q10751_WindsOfFateEncounters extends Quest
|
|||||||
final ClassId newClass = ClassId.MARAUDER;
|
final ClassId newClass = ClassId.MARAUDER;
|
||||||
if (qs.isCond(8) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(8) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
|
@ -212,7 +212,10 @@ public final class Q10752_WindsOfFateAPromise extends Quest
|
|||||||
final ClassId newClass = ClassId.STRATOMANCER;
|
final ClassId newClass = ClassId.STRATOMANCER;
|
||||||
if (qs.isCond(10) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(10) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
@ -231,7 +234,10 @@ public final class Q10752_WindsOfFateAPromise extends Quest
|
|||||||
final ClassId newClass = ClassId.RIPPER;
|
final ClassId newClass = ClassId.RIPPER;
|
||||||
if (qs.isCond(11) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(11) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
|
@ -319,7 +319,10 @@ public final class Q10753_WindsOfFateChoices extends Quest
|
|||||||
final ClassId newClass = ClassId.EVISCERATOR;
|
final ClassId newClass = ClassId.EVISCERATOR;
|
||||||
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
@ -338,7 +341,10 @@ public final class Q10753_WindsOfFateChoices extends Quest
|
|||||||
final ClassId newClass = ClassId.SAYHA_SEER;
|
final ClassId newClass = ClassId.SAYHA_SEER;
|
||||||
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
|
@ -235,7 +235,10 @@ public abstract class ThirdClassTransferQuest extends Quest
|
|||||||
addSkillCastDesire(npc, player, SHOW_SKILL.getSkill(), 23);
|
addSkillCastDesire(npc, player, SHOW_SKILL.getSkill(), 23);
|
||||||
player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_YOUR_THIRD_CLASS_TRANSFER_QUEST);
|
player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_YOUR_THIRD_CLASS_TRANSFER_QUEST);
|
||||||
player.broadcastSocialAction(3);
|
player.broadcastSocialAction(3);
|
||||||
player.setBaseClass(newClassId);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClassId);
|
||||||
|
}
|
||||||
player.setClassId(newClassId.getId());
|
player.setClassId(newClassId.getId());
|
||||||
player.store(false);
|
player.store(false);
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
|
@ -127,8 +127,11 @@ public final class Q10360_CertificationOfFate extends Quest
|
|||||||
case "30288-04.htm":
|
case "30288-04.htm":
|
||||||
case "30289-04.htm":
|
case "30289-04.htm":
|
||||||
{
|
{
|
||||||
st.startQuest();
|
if (!player.isSubClassActive())
|
||||||
htmltext = event;
|
{
|
||||||
|
st.startQuest();
|
||||||
|
htmltext = event;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "teleport":
|
case "teleport":
|
||||||
@ -207,6 +210,11 @@ public final class Q10360_CertificationOfFate extends Quest
|
|||||||
}
|
}
|
||||||
else if (event.startsWith("classChange;"))
|
else if (event.startsWith("classChange;"))
|
||||||
{
|
{
|
||||||
|
if (player.isSubClassActive())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
final ClassId newClassId = ClassId.getClassId(Integer.parseInt(event.replace("classChange;", "")));
|
final ClassId newClassId = ClassId.getClassId(Integer.parseInt(event.replace("classChange;", "")));
|
||||||
final ClassId currentClassId = player.getClassId();
|
final ClassId currentClassId = player.getClassId();
|
||||||
|
|
||||||
|
@ -210,7 +210,10 @@ public final class Q10751_WindsOfFateEncounters extends Quest
|
|||||||
final ClassId newClass = ClassId.CLOUD_BREAKER;
|
final ClassId newClass = ClassId.CLOUD_BREAKER;
|
||||||
if (qs.isCond(9) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(9) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
@ -230,7 +233,10 @@ public final class Q10751_WindsOfFateEncounters extends Quest
|
|||||||
final ClassId newClass = ClassId.MARAUDER;
|
final ClassId newClass = ClassId.MARAUDER;
|
||||||
if (qs.isCond(8) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(8) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
|
@ -212,7 +212,10 @@ public final class Q10752_WindsOfFateAPromise extends Quest
|
|||||||
final ClassId newClass = ClassId.STRATOMANCER;
|
final ClassId newClass = ClassId.STRATOMANCER;
|
||||||
if (qs.isCond(10) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(10) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
@ -231,7 +234,10 @@ public final class Q10752_WindsOfFateAPromise extends Quest
|
|||||||
final ClassId newClass = ClassId.RIPPER;
|
final ClassId newClass = ClassId.RIPPER;
|
||||||
if (qs.isCond(11) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(11) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
|
@ -319,7 +319,10 @@ public final class Q10753_WindsOfFateChoices extends Quest
|
|||||||
final ClassId newClass = ClassId.EVISCERATOR;
|
final ClassId newClass = ClassId.EVISCERATOR;
|
||||||
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
@ -338,7 +341,10 @@ public final class Q10753_WindsOfFateChoices extends Quest
|
|||||||
final ClassId newClass = ClassId.SAYHA_SEER;
|
final ClassId newClass = ClassId.SAYHA_SEER;
|
||||||
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
|
@ -237,7 +237,10 @@ public abstract class ThirdClassTransferQuest extends Quest
|
|||||||
addSkillCastDesire(npc, player, SHOW_SKILL.getSkill(), 23);
|
addSkillCastDesire(npc, player, SHOW_SKILL.getSkill(), 23);
|
||||||
player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_YOUR_THIRD_CLASS_TRANSFER_QUEST);
|
player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_YOUR_THIRD_CLASS_TRANSFER_QUEST);
|
||||||
player.broadcastSocialAction(3);
|
player.broadcastSocialAction(3);
|
||||||
player.setBaseClass(newClassId);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClassId);
|
||||||
|
}
|
||||||
player.setClassId(newClassId.getId());
|
player.setClassId(newClassId.getId());
|
||||||
player.store(false);
|
player.store(false);
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
|
@ -121,8 +121,11 @@ public final class Q10360_CertificationOfFate extends Quest
|
|||||||
case "30288-04.htm":
|
case "30288-04.htm":
|
||||||
case "30289-04.htm":
|
case "30289-04.htm":
|
||||||
{
|
{
|
||||||
st.startQuest();
|
if (!player.isSubClassActive())
|
||||||
htmltext = event;
|
{
|
||||||
|
st.startQuest();
|
||||||
|
htmltext = event;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "teleport":
|
case "teleport":
|
||||||
@ -201,6 +204,11 @@ public final class Q10360_CertificationOfFate extends Quest
|
|||||||
}
|
}
|
||||||
else if (event.startsWith("classChange;"))
|
else if (event.startsWith("classChange;"))
|
||||||
{
|
{
|
||||||
|
if (player.isSubClassActive())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
final ClassId newClassId = ClassId.getClassId(Integer.parseInt(event.replace("classChange;", "")));
|
final ClassId newClassId = ClassId.getClassId(Integer.parseInt(event.replace("classChange;", "")));
|
||||||
final ClassId currentClassId = player.getClassId();
|
final ClassId currentClassId = player.getClassId();
|
||||||
|
|
||||||
|
@ -206,7 +206,10 @@ public final class Q10751_WindsOfFateEncounters extends Quest
|
|||||||
final ClassId newClass = ClassId.CLOUD_BREAKER;
|
final ClassId newClass = ClassId.CLOUD_BREAKER;
|
||||||
if (qs.isCond(9) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(9) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
@ -223,7 +226,10 @@ public final class Q10751_WindsOfFateEncounters extends Quest
|
|||||||
final ClassId newClass = ClassId.MARAUDER;
|
final ClassId newClass = ClassId.MARAUDER;
|
||||||
if (qs.isCond(8) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(8) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
|
@ -212,7 +212,10 @@ public final class Q10752_WindsOfFateAPromise extends Quest
|
|||||||
final ClassId newClass = ClassId.STRATOMANCER;
|
final ClassId newClass = ClassId.STRATOMANCER;
|
||||||
if (qs.isCond(10) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(10) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
@ -231,7 +234,10 @@ public final class Q10752_WindsOfFateAPromise extends Quest
|
|||||||
final ClassId newClass = ClassId.RIPPER;
|
final ClassId newClass = ClassId.RIPPER;
|
||||||
if (qs.isCond(11) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(11) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
|
@ -319,7 +319,10 @@ public final class Q10753_WindsOfFateChoices extends Quest
|
|||||||
final ClassId newClass = ClassId.EVISCERATOR;
|
final ClassId newClass = ClassId.EVISCERATOR;
|
||||||
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
@ -338,7 +341,10 @@ public final class Q10753_WindsOfFateChoices extends Quest
|
|||||||
final ClassId newClass = ClassId.SAYHA_SEER;
|
final ClassId newClass = ClassId.SAYHA_SEER;
|
||||||
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
if (qs.isCond(18) && newClass.childOf(player.getClassId()))
|
||||||
{
|
{
|
||||||
player.setBaseClass(newClass);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClass);
|
||||||
|
}
|
||||||
player.setClassId(newClass.getId());
|
player.setClassId(newClass.getId());
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendSkillList();
|
player.sendSkillList();
|
||||||
|
@ -235,7 +235,10 @@ public abstract class ThirdClassTransferQuest extends Quest
|
|||||||
addSkillCastDesire(npc, player, SHOW_SKILL.getSkill(), 23);
|
addSkillCastDesire(npc, player, SHOW_SKILL.getSkill(), 23);
|
||||||
player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_YOUR_THIRD_CLASS_TRANSFER_QUEST);
|
player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_YOUR_THIRD_CLASS_TRANSFER_QUEST);
|
||||||
player.broadcastSocialAction(3);
|
player.broadcastSocialAction(3);
|
||||||
player.setBaseClass(newClassId);
|
if (!player.isSubClassActive())
|
||||||
|
{
|
||||||
|
player.setBaseClass(newClassId);
|
||||||
|
}
|
||||||
player.setClassId(newClassId.getId());
|
player.setClassId(newClassId.getId());
|
||||||
player.store(false);
|
player.store(false);
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
|
Loading…
Reference in New Issue
Block a user