diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/CategoryData.xml b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/CategoryData.xml
index 080beec648..359594290c 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/CategoryData.xml
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/CategoryData.xml
@@ -585,4 +585,18 @@
34
107
+
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
index 853cafb61d..6eb1f8192e 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
@@ -414,7 +414,7 @@ public class AdminEditChar implements IAdminCommandHandler
player.getAppearance().setFemale();
}
// Death Knight checks.
- if ((classidval > 195) && (classidval < 208))
+ if (player.isDeathKnight())
{
player.getAppearance().setMale();
}
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
index cd2df02d03..4e18a344bf 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
@@ -148,8 +148,14 @@ public class Q00255_Tutorial extends Quest
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
+ // Null check.
+ if (player == null)
+ {
+ return null;
+ }
+
// Death Knights.
- if ((player == null) || (player.getClassId().getId() > 195))
+ if (player.isDeathKnight())
{
return null;
}
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/stats/chars/classList.xml b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/stats/chars/classList.xml
index 36f5f9ca39..794ce0adca 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/stats/chars/classList.xml
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/stats/chars/classList.xml
@@ -103,17 +103,17 @@
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/enums/CategoryType.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/enums/CategoryType.java
index 2413c50b74..8e43b7b669 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/enums/CategoryType.java
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/enums/CategoryType.java
@@ -54,7 +54,8 @@ public enum CategoryType
SUB_GROUP_ORC,
SUB_GROUP_WARE,
SUB_GROUP_BLACK,
- SUB_GROUP_DE;
+ SUB_GROUP_DE,
+ DEATH_KNIGHT_ALL_CLASS;
/**
* Finds category by it's name
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java
index 5ad6aa2c09..e797abd095 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java
@@ -6694,7 +6694,7 @@ public class PlayerInstance extends Playable
{
player._activeClass = activeClassId;
}
- if ((activeClassId > 195) && (activeClassId < 208))
+ if (CategoryData.getInstance().isInCategory(CategoryType.DEATH_KNIGHT_ALL_CLASS, activeClassId))
{
player._isDeathKnight = true;
}
@@ -14233,7 +14233,7 @@ public class PlayerInstance extends Playable
addStatusUpdateValue(StatusUpdateType.LEVEL);
addStatusUpdateValue(StatusUpdateType.MAX_CP);
addStatusUpdateValue(StatusUpdateType.CUR_CP);
- if (isPlayer() && (getActingPlayer().getClassId().getId() > 195))
+ if (isDeathKnight())
{
addStatusUpdateValue(StatusUpdateType.CUR_DP);
}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/CategoryData.xml b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/CategoryData.xml
index ba16100c43..08ccb53abc 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/CategoryData.xml
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/CategoryData.xml
@@ -66,16 +66,16 @@
194
195
196
- 205
- 202
+ 197
+ 198
199
200
- 197
- 206
+ 201
+ 202
203
204
- 201
- 198
+ 205
+ 206
207
208
209
@@ -206,16 +206,16 @@
194
195
196
- 205
- 202
+ 197
+ 198
199
200
- 197
- 206
+ 201
+ 202
203
204
- 201
- 198
+ 205
+ 206
207
208
209
@@ -597,4 +597,24 @@
34
107
+
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+
+
+ 208
+ 209
+ 210
+ 211
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
index 45dbf8bff9..c8481145dd 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
@@ -410,7 +410,7 @@ public class AdminEditChar implements IAdminCommandHandler
}
}
// Death Knight checks.
- if ((classidval > 195) && (classidval < 208))
+ if (player.isDeathKnight())
{
player.getAppearance().setMale();
}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
index cd2df02d03..39cb576ced 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
@@ -148,8 +148,20 @@ public class Q00255_Tutorial extends Quest
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
+ // Null check.
+ if (player == null)
+ {
+ return null;
+ }
+
// Death Knights.
- if ((player == null) || (player.getClassId().getId() > 195))
+ if (player.isDeathKnight())
+ {
+ return null;
+ }
+
+ // Sylph.
+ if (player.getRace() == Race.SYLPH)
{
return null;
}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/stats/chars/classList.xml b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/stats/chars/classList.xml
index 673dc77c91..c88e0477ec 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/stats/chars/classList.xml
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/stats/chars/classList.xml
@@ -103,19 +103,19 @@
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/enums/CategoryType.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/enums/CategoryType.java
index 2413c50b74..8f6908eb64 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/enums/CategoryType.java
+++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/enums/CategoryType.java
@@ -54,7 +54,9 @@ public enum CategoryType
SUB_GROUP_ORC,
SUB_GROUP_WARE,
SUB_GROUP_BLACK,
- SUB_GROUP_DE;
+ SUB_GROUP_DE,
+ DEATH_KNIGHT_ALL_CLASS,
+ SYLPH_ALL_CLASS;
/**
* Finds category by it's name
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java
index f604dccba0..034f8207e5 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java
+++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java
@@ -6739,7 +6739,7 @@ public class PlayerInstance extends Playable
{
player._activeClass = activeClassId;
}
- if ((activeClassId > 195) && (activeClassId < 208))
+ if (CategoryData.getInstance().isInCategory(CategoryType.DEATH_KNIGHT_ALL_CLASS, activeClassId))
{
player._isDeathKnight = true;
}
@@ -14310,7 +14310,7 @@ public class PlayerInstance extends Playable
addStatusUpdateValue(StatusUpdateType.LEVEL);
addStatusUpdateValue(StatusUpdateType.MAX_CP);
addStatusUpdateValue(StatusUpdateType.CUR_CP);
- if (isPlayer() && (getActingPlayer().getClassId().getId() > 195))
+ if (isDeathKnight())
{
addStatusUpdateValue(StatusUpdateType.CUR_DP);
}