From 1c6372c9bd66703619a6c392dc6d7895daadcb9f Mon Sep 17 00:00:00 2001
From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Fri, 13 Nov 2020 14:48:32 +0000
Subject: [PATCH] Transformation skill for ranks. Contributed by manax182.
---
.../model/skills/AbnormalVisualEffect.java | 2 +
.../ai/others/RankingSkillBonuses.java | 52 ++++++
.../game/data/stats/skills/00200-00299.xml | 7 +-
.../game/data/stats/skills/00900-00999.xml | 1 +
.../game/data/stats/skills/06200-06299.xml | 1 +
.../game/data/stats/skills/45100-45199.xml | 4 +-
.../game/data/stats/skills/54200-54299.xml | 172 ++++++++++++++++--
.../dist/game/data/xsd/skills.xsd | 4 +-
.../model/skills/AbnormalVisualEffect.java | 2 +
9 files changed, 222 insertions(+), 23 deletions(-)
diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/skills/AbnormalVisualEffect.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/skills/AbnormalVisualEffect.java
index 594d449e00..ad64d227ff 100644
--- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/skills/AbnormalVisualEffect.java
+++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/skills/AbnormalVisualEffect.java
@@ -341,6 +341,8 @@ public enum AbnormalVisualEffect
H_DEATH_EFFECT_AVE(352),
AVE_WHITE_KNIGHT(353),
U_ER_WI_WINDHIDE_AVE(354),
+ RANKER_DECO_HUMAN(385),
+ RANKER_DECO_KAMAEL(386),
JDK_BODY_FIRE_1(387),
DK_BONEPRISON_AVE(388),
DK_IGNITION_HUMAN_AVE(390),
diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/others/RankingSkillBonuses.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/others/RankingSkillBonuses.java
index 8617c9abf4..e29744e9c5 100644
--- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/others/RankingSkillBonuses.java
+++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/others/RankingSkillBonuses.java
@@ -47,6 +47,12 @@ public class RankingSkillBonuses extends AbstractNpcAI
private static final Skill SERVER_RANKING_BENEFIT_2 = SkillData.getInstance().getSkill(60013, 1);
private static final Skill SERVER_RANKING_BENEFIT_3 = SkillData.getInstance().getSkill(60014, 1);
private static final Skill RACE_RANKING_BENEFIT = SkillData.getInstance().getSkill(60015, 1);
+ private static final Skill HUMAN_LEVEL_TRANSFORM_CLASS = SkillData.getInstance().getSkill(54204, 1);
+ private static final Skill ELF_LEVEL_TRANSFORM_CLASS = SkillData.getInstance().getSkill(54210, 1);
+ private static final Skill DARK_ELF_LEVEL_TRANSFORM_CLASS = SkillData.getInstance().getSkill(54211, 1);
+ private static final Skill ORC_LEVEL_TRANSFORM_CLASS = SkillData.getInstance().getSkill(54209, 1);
+ private static final Skill DWARF_LEVEL_TRANSFORM_CLASS = SkillData.getInstance().getSkill(54512, 1);
+ private static final Skill KAMAEL_LEVEL_TRANSFORM_CLASS = SkillData.getInstance().getSkill(54205, 1);
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
@@ -68,6 +74,12 @@ public class RankingSkillBonuses extends AbstractNpcAI
player.getEffectList().stopSkillEffects(true, ORC_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, DWARF_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, KAMAEL_LEVEL_RANKING_1ST_CLASS);
+ player.getEffectList().stopSkillEffects(true, HUMAN_LEVEL_TRANSFORM_CLASS);
+ player.getEffectList().stopSkillEffects(true, ELF_LEVEL_TRANSFORM_CLASS);
+ player.getEffectList().stopSkillEffects(true, DARK_ELF_LEVEL_TRANSFORM_CLASS);
+ player.getEffectList().stopSkillEffects(true, ORC_LEVEL_TRANSFORM_CLASS);
+ player.getEffectList().stopSkillEffects(true, DWARF_LEVEL_TRANSFORM_CLASS);
+ player.getEffectList().stopSkillEffects(true, KAMAEL_LEVEL_TRANSFORM_CLASS);
player.removeSkill(SERVER_RANKING_BENEFIT_1);
player.removeSkill(SERVER_RANKING_BENEFIT_2);
player.removeSkill(SERVER_RANKING_BENEFIT_3);
@@ -136,6 +148,46 @@ public class RankingSkillBonuses extends AbstractNpcAI
}
player.addSkill(RACE_RANKING_BENEFIT, false);
}
+
+ // Add race rank transform skills.
+ final int raceTransform = RankManager.getInstance().getPlayerRaceRank(player);
+ if ((raceTransform > 0) && (raceTransform <= 3))
+ {
+ switch (player.getRace())
+ {
+ case HUMAN:
+ {
+
+ player.addSkill(HUMAN_LEVEL_TRANSFORM_CLASS, false);
+ break;
+ }
+ case ELF:
+ {
+ player.addSkill(ELF_LEVEL_TRANSFORM_CLASS, false);
+ break;
+ }
+ case DARK_ELF:
+ {
+ player.addSkill(DARK_ELF_LEVEL_TRANSFORM_CLASS, false);
+ break;
+ }
+ case ORC:
+ {
+ player.addSkill(ORC_LEVEL_TRANSFORM_CLASS, false);
+ break;
+ }
+ case DWARF:
+ {
+ player.addSkill(DWARF_LEVEL_TRANSFORM_CLASS, false);
+ break;
+ }
+ case KAMAEL:
+ {
+ player.addSkill(KAMAEL_LEVEL_TRANSFORM_CLASS, false);
+ break;
+ }
+ }
+ }
}
public static void main(String[] args)
diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/00200-00299.xml b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/00200-00299.xml
index f9369bc9ac..1a87c36995 100644
--- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/00200-00299.xml
+++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/00200-00299.xml
@@ -5699,11 +5699,11 @@
30
- PER
+ DIFF
30
- PER
+ DIFF
@@ -5855,7 +5855,7 @@
20
- PER
+ DIFF
@@ -6062,6 +6062,7 @@
20
+ DIFF
diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/00900-00999.xml
index ea41501291..8fbfb1a5be 100644
--- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/00900-00999.xml
+++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/00900-00999.xml
@@ -980,6 +980,7 @@
40
50
+ DIFF
diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/06200-06299.xml b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/06200-06299.xml
index c6f43d3789..a3a2651009 100644
--- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/06200-06299.xml
+++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/06200-06299.xml
@@ -1469,6 +1469,7 @@
20
+ DIFF
diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/45100-45199.xml b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/45100-45199.xml
index 282427458b..04a57fd227 100644
--- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/45100-45199.xml
+++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/45100-45199.xml
@@ -3746,6 +3746,8 @@
50
54
+ ENEMY
+ SINGLE
@@ -3764,7 +3766,7 @@
- SWORD
- - DUALSWORD
+ - DUAL
- BLUNT
diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/54200-54299.xml b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/54200-54299.xml
index 9e69c72a47..3db39e2856 100644
--- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/54200-54299.xml
+++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/54200-54299.xml
@@ -21,14 +21,65 @@
A1
-
icon.skill0000
- A1
+ 1
+ 3600
+ RANKER_DECO_HUMAN
+ CHANGEBODY
+ true
+ A2
+ 1
+ NONE
+ 5
+ -1
+ 0
+ true
+ 2
+ 1000
+ SELF
+ SINGLE
+
+
+ 385
+
+
+
+
+ 300
+ DIFF
+
+
+ 385
+
+
-
icon.skill0000
- A1
+ RANKER_DECO_KAMAEL
+ 1
+ 1200
+ CHANGEBODY
+ true
+ A2
+ 1
+ NONE
+ 5
+ -1
+ 0
+ true
+ 2
+ 1000
+ SELF
+ SINGLE
+
+
+ 300
+ DIFF
+
+
+ 386
+
+
1
@@ -97,11 +148,6 @@
1000
SELF
SINGLE
-
-
- 208
-
-
208
@@ -114,24 +160,116 @@
A1
-
icon.skill0000
- A1
+ 1
+ 1200
+ RANKER_DECO_ORC
+ CHANGEBODY
+ true
+ A2
+ 1
+ NONE
+ 5
+ -1
+ 0
+ true
+ 2
+ 1000
+ SELF
+ SINGLE
+
+
+ 300
+ DIFF
+
+
+ 424
+
+
-
icon.skill0000
- A1
+ 1
+ 1200
+ RANKER_DECO_ELF
+ CHANGEBODY
+ true
+ A2
+ 1
+ NONE
+ 5
+ -1
+ 0
+ true
+ 2
+ 1000
+ SELF
+ SINGLE
+
+
+ 300
+ DIFF
+
+
+ 428
+
+
-
icon.skill0000
- A1
+ 1
+ 1200
+ RANKER_DECO_DARKELF
+ CHANGEBODY
+ true
+ A2
+ 1
+ NONE
+ 5
+ -1
+ 0
+ true
+ 2
+ 1000
+ SELF
+ SINGLE
+
+
+ 300
+ DIFF
+
+
+ 429
+
+
-
icon.skill0000
- A1
+ 1
+ 1200
+ RANKER_DECO_DWARF
+ CHANGEBODY
+ true
+ A2
+ 1
+ NONE
+ 5
+ -1
+ 0
+ true
+ 2
+ 1000
+ SELF
+ SINGLE
+
+
+ 300
+ DIFF
+
+
+ 430
+
+
diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/xsd/skills.xsd
index 5884f5de54..11ba16967a 100644
--- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/xsd/skills.xsd
+++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/xsd/skills.xsd
@@ -400,7 +400,7 @@
-
+
@@ -1325,7 +1325,7 @@
-
+
diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/skills/AbnormalVisualEffect.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/skills/AbnormalVisualEffect.java
index 594d449e00..ad64d227ff 100644
--- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/skills/AbnormalVisualEffect.java
+++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/skills/AbnormalVisualEffect.java
@@ -341,6 +341,8 @@ public enum AbnormalVisualEffect
H_DEATH_EFFECT_AVE(352),
AVE_WHITE_KNIGHT(353),
U_ER_WI_WINDHIDE_AVE(354),
+ RANKER_DECO_HUMAN(385),
+ RANKER_DECO_KAMAEL(386),
JDK_BODY_FIRE_1(387),
DK_BONEPRISON_AVE(388),
DK_IGNITION_HUMAN_AVE(390),