From f3c2689d585c964e4ef4929538800e198eb9cf44 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 31 Oct 2019 10:03:20 +0000 Subject: [PATCH] Apply Clan Advent for elite clan members. --- .../village_master/ClanMaster/ClanMaster.java | 78 +++++++++++++++---- .../village_master/ClanMaster/ClanMaster.java | 78 +++++++++++++++---- 2 files changed, 130 insertions(+), 26 deletions(-) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/village_master/ClanMaster/ClanMaster.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/village_master/ClanMaster/ClanMaster.java index f8a94950e2..c065fa50be 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/village_master/ClanMaster/ClanMaster.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/village_master/ClanMaster/ClanMaster.java @@ -21,6 +21,7 @@ import java.util.Map; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.clan.ClanMember; import org.l2jmobius.gameserver.model.events.EventType; import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; @@ -95,7 +96,7 @@ public class ClanMaster extends AbstractNpcAI public void onPlayerLogin(OnPlayerLogin event) { final PlayerInstance player = event.getPlayer(); - if (player.isClanLeader()) + if (player.isClanLeader() || (player.getPledgeType() == 100)) { player.getClan().getMembers().forEach(member -> { @@ -105,9 +106,23 @@ public class ClanMaster extends AbstractNpcAI } }); } - else if ((player.getClan() != null) && player.getClan().getLeader().isOnline()) + else if (player.getClan() != null) { - CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + if (player.getClan().getLeader().isOnline()) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + } + else + { + for (ClanMember member : player.getClan().getMembers()) + { + if (member.getPledgeType() == 100) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + break; + } + } + } } } @@ -118,17 +133,29 @@ public class ClanMaster extends AbstractNpcAI final PlayerInstance player = event.getPlayer(); if (player.isClanLeader()) { - player.getClan().getMembers().forEach(member -> + boolean removing = true; + for (ClanMember member : player.getClan().getMembers()) { - if (member.isOnline()) + if (member.getPledgeType() == 100) { - member.getPlayerInstance().getEffectList().stopSkillEffects(true, CommonSkill.CLAN_ADVENT.getId()); + removing = false; + break; } - }); - } - if (player.getClan() != null) - { - player.getEffectList().stopSkillEffects(true, CommonSkill.CLAN_ADVENT.getId()); + } + if (removing) + { + player.getClan().getMembers().forEach(member -> + { + if (member.isOnline()) + { + member.getPlayerInstance().getEffectList().stopSkillEffects(true, CommonSkill.CLAN_ADVENT.getSkill()); + } + }); + if (player.getClan() != null) + { + player.getEffectList().stopSkillEffects(true, CommonSkill.CLAN_ADVENT.getSkill()); + } + } } } @@ -137,9 +164,23 @@ public class ClanMaster extends AbstractNpcAI public void onProfessionChange(OnPlayerProfessionChange event) { final PlayerInstance player = event.getPlayer(); - if (player.isClanLeader() || ((player.getClan() != null) && player.getClan().getLeader().isOnline())) + if (player.isClanLeader() || (player.getClan() != null)) { - CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + if (player.getClan().getLeader().isOnline()) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + } + else + { + for (ClanMember member : player.getClan().getMembers()) + { + if (member.getPledgeType() == 100) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + break; + } + } + } } } @@ -152,6 +193,17 @@ public class ClanMaster extends AbstractNpcAI { CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); } + else + { + for (ClanMember member : player.getClan().getMembers()) + { + if (member.getPledgeType() == 100) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + break; + } + } + } } @RegisterEvent(EventType.ON_PLAYER_CLAN_LEFT) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/village_master/ClanMaster/ClanMaster.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/village_master/ClanMaster/ClanMaster.java index f8a94950e2..c065fa50be 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/village_master/ClanMaster/ClanMaster.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/village_master/ClanMaster/ClanMaster.java @@ -21,6 +21,7 @@ import java.util.Map; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.clan.ClanMember; import org.l2jmobius.gameserver.model.events.EventType; import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; @@ -95,7 +96,7 @@ public class ClanMaster extends AbstractNpcAI public void onPlayerLogin(OnPlayerLogin event) { final PlayerInstance player = event.getPlayer(); - if (player.isClanLeader()) + if (player.isClanLeader() || (player.getPledgeType() == 100)) { player.getClan().getMembers().forEach(member -> { @@ -105,9 +106,23 @@ public class ClanMaster extends AbstractNpcAI } }); } - else if ((player.getClan() != null) && player.getClan().getLeader().isOnline()) + else if (player.getClan() != null) { - CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + if (player.getClan().getLeader().isOnline()) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + } + else + { + for (ClanMember member : player.getClan().getMembers()) + { + if (member.getPledgeType() == 100) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + break; + } + } + } } } @@ -118,17 +133,29 @@ public class ClanMaster extends AbstractNpcAI final PlayerInstance player = event.getPlayer(); if (player.isClanLeader()) { - player.getClan().getMembers().forEach(member -> + boolean removing = true; + for (ClanMember member : player.getClan().getMembers()) { - if (member.isOnline()) + if (member.getPledgeType() == 100) { - member.getPlayerInstance().getEffectList().stopSkillEffects(true, CommonSkill.CLAN_ADVENT.getId()); + removing = false; + break; } - }); - } - if (player.getClan() != null) - { - player.getEffectList().stopSkillEffects(true, CommonSkill.CLAN_ADVENT.getId()); + } + if (removing) + { + player.getClan().getMembers().forEach(member -> + { + if (member.isOnline()) + { + member.getPlayerInstance().getEffectList().stopSkillEffects(true, CommonSkill.CLAN_ADVENT.getSkill()); + } + }); + if (player.getClan() != null) + { + player.getEffectList().stopSkillEffects(true, CommonSkill.CLAN_ADVENT.getSkill()); + } + } } } @@ -137,9 +164,23 @@ public class ClanMaster extends AbstractNpcAI public void onProfessionChange(OnPlayerProfessionChange event) { final PlayerInstance player = event.getPlayer(); - if (player.isClanLeader() || ((player.getClan() != null) && player.getClan().getLeader().isOnline())) + if (player.isClanLeader() || (player.getClan() != null)) { - CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + if (player.getClan().getLeader().isOnline()) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + } + else + { + for (ClanMember member : player.getClan().getMembers()) + { + if (member.getPledgeType() == 100) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + break; + } + } + } } } @@ -152,6 +193,17 @@ public class ClanMaster extends AbstractNpcAI { CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); } + else + { + for (ClanMember member : player.getClan().getMembers()) + { + if (member.getPledgeType() == 100) + { + CommonSkill.CLAN_ADVENT.getSkill().applyEffects(player, player); + break; + } + } + } } @RegisterEvent(EventType.ON_PLAYER_CLAN_LEFT)