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),