L2JMobius

Master Class Ch. 3 Propper Class Change Prompt on Level-up

realAprox · 5 · 1020

Offline realAprox

  • Heir
  • **
    • Posts: 10
  • Pip Pip The Diddly Doo
    • YouTube
What title says

The game will prompt you with "class change available" when character reaches the proper level.
Applied this method to prompt sent at login.

Diff: https://pastebin.com/t9G2CzLE



Online Mobius

  • Distinguished King
  • *****
    • Posts: 16064



Online Mobius

  • Distinguished King
  • *****
    • Posts: 16064
Wont this change have the same effect?
Code: [Select]
Index: java/org/l2jmobius/gameserver/model/actor/stat/PlayerStat.java
===================================================================
--- java/org/l2jmobius/gameserver/model/actor/stat/PlayerStat.java (revision 11955)
+++ java/org/l2jmobius/gameserver/model/actor/stat/PlayerStat.java (working copy)
@@ -21,6 +21,7 @@
 import org.l2jmobius.Config;
 import org.l2jmobius.gameserver.data.xml.ExperienceData;
 import org.l2jmobius.gameserver.data.xml.FishingData;
+import org.l2jmobius.gameserver.enums.CategoryType;
 import org.l2jmobius.gameserver.enums.PartySmallWindowUpdateType;
 import org.l2jmobius.gameserver.enums.UserInfoType;
 import org.l2jmobius.gameserver.model.Party;
@@ -46,6 +47,7 @@
 import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
 import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
 import org.l2jmobius.gameserver.network.serverpackets.UserInfo;
+import org.l2jmobius.gameserver.network.serverpackets.classchange.ExClassChangeSetAlarm;
 import org.l2jmobius.gameserver.network.serverpackets.friend.FriendStatus;
 import org.l2jmobius.gameserver.network.serverpackets.pledgeV2.ExPledgeMissionRewardCount;
 import org.l2jmobius.gameserver.util.Util;
@@ -286,6 +288,19 @@
  getActiveChar().sendPacket(new ExVoteSystemInfo(getActiveChar()));
  // Removed used by new Clan system.
  // getActiveChar().sendPacket(new ExOneDayReceiveRewardList(getActiveChar(), true));
+
+ if (Config.DISABLE_TUTORIAL)
+ {
+ final int playerLevel = getActiveChar().getLevel();
+ if (!getActiveChar().isInCategory(CategoryType.SIXTH_CLASS_GROUP) //
+ && ((getActiveChar().isInCategory(CategoryType.SECOND_CLASS_GROUP) && (playerLevel >= 38)) //
+ || (getActiveChar().isInCategory(CategoryType.THIRD_CLASS_GROUP) && (playerLevel >= 76)) //
+ || (getActiveChar().isInCategory(CategoryType.FOURTH_CLASS_GROUP) && (playerLevel >= 85))))
+ {
+ getActiveChar().sendPacket(ExClassChangeSetAlarm.STATIC_PACKET);
+ }
+ }
+
  return levelIncreased;
  }