Clan Advent improvements.
This commit is contained in:
parent
8747270265
commit
d81ac1c428
@ -20,25 +20,28 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.l2jmobius.gameserver.model.L2Clan;
|
import com.l2jmobius.gameserver.model.L2Clan;
|
||||||
import com.l2jmobius.gameserver.model.L2ClanMember;
|
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
|
||||||
import ai.AbstractNpcAI;
|
|
||||||
import com.l2jmobius.gameserver.model.events.EventType;
|
import com.l2jmobius.gameserver.model.events.EventType;
|
||||||
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||||
import com.l2jmobius.gameserver.model.events.impl.character.player.*;
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerClanJoin;
|
||||||
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerClanLeft;
|
||||||
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogin;
|
||||||
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogout;
|
||||||
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerProfessionChange;
|
||||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
|
|
||||||
|
import ai.AbstractNpcAI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author UnAfraid
|
* @author UnAfraid
|
||||||
*/
|
*/
|
||||||
public final class Clan extends AbstractNpcAI
|
public final class Clan extends AbstractNpcAI
|
||||||
{
|
{
|
||||||
private final SkillHolder CLAN_ADVENT = new SkillHolder(19009, 1);
|
private final SkillHolder CLAN_ADVENT = new SkillHolder(19009, 1);
|
||||||
|
|
||||||
// @formatter:off
|
// @formatter:off
|
||||||
private static final int[] NPCS =
|
private static final int[] NPCS =
|
||||||
{
|
{
|
||||||
@ -96,73 +99,80 @@ public final class Clan extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
return "9000-01.htm";
|
return "9000-01.htm";
|
||||||
}
|
}
|
||||||
|
|
||||||
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
|
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
public void onPlayerLogin(OnPlayerLogin event) {
|
public void onPlayerLogin(OnPlayerLogin event)
|
||||||
if(event.getActiveChar().isClanLeader()) {
|
{
|
||||||
|
final L2PcInstance activeChar = event.getActiveChar();
|
||||||
|
if (activeChar.isClanLeader())
|
||||||
|
{
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
final L2Clan clan = event.getActiveChar().getClan();
|
||||||
clan.getMembers().forEach(member -> {
|
clan.getMembers().forEach(member ->
|
||||||
// Starting Clan Advent when leader log on
|
{
|
||||||
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
if (member.isOnline())
|
||||||
|
{
|
||||||
|
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else if ((activeChar.getClan() != null) && activeChar.getClan().getLeader().isOnline())
|
||||||
|
{
|
||||||
|
CLAN_ADVENT.getSkill().applyEffects(activeChar, activeChar);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RegisterEvent(EventType.ON_PLAYER_LOGOUT)
|
@RegisterEvent(EventType.ON_PLAYER_LOGOUT)
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
public void onPlayerLogout(OnPlayerLogout event) {
|
public void onPlayerLogout(OnPlayerLogout event)
|
||||||
if(event.getActiveChar().isClanLeader()) {
|
{
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
final L2PcInstance activeChar = event.getActiveChar();
|
||||||
clan.getMembers().forEach(member -> {
|
if (activeChar.isClanLeader())
|
||||||
// Remove Clan Advent effect when leader log off
|
{
|
||||||
member.getPlayerInstance().getEffectList().stopSkillEffects(true, CLAN_ADVENT.getSkill());
|
final L2Clan clan = activeChar.getClan();
|
||||||
|
clan.getMembers().forEach(member ->
|
||||||
|
{
|
||||||
|
if (member.isOnline())
|
||||||
|
{
|
||||||
|
member.getPlayerInstance().getEffectList().stopSkillEffects(true, CLAN_ADVENT.getSkill());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else if (activeChar.getClan() != null)
|
||||||
|
{
|
||||||
|
activeChar.getEffectList().stopSkillEffects(true, CLAN_ADVENT.getSkill());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RegisterEvent(EventType.ON_PLAYER_PROFESSION_CHANGE)
|
@RegisterEvent(EventType.ON_PLAYER_PROFESSION_CHANGE)
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
public void onProfessionChange(OnPlayerProfessionChange event)
|
public void onProfessionChange(OnPlayerProfessionChange event)
|
||||||
{
|
{
|
||||||
final L2PcInstance activeChar = event.getActiveChar();
|
final L2PcInstance activeChar = event.getActiveChar();
|
||||||
if(activeChar.isClanLeader() || (activeChar.getClan() != null && activeChar.getClan().getLeader().isOnline())) {
|
if (activeChar.isClanLeader() || ((activeChar.getClan() != null) && activeChar.getClan().getLeader().isOnline()))
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
{
|
||||||
clan.getMembers().forEach(member -> {
|
CLAN_ADVENT.getSkill().applyEffects(activeChar, activeChar);
|
||||||
// Starting Clan Advent when leader log on
|
}
|
||||||
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
}
|
||||||
});
|
|
||||||
}
|
@RegisterEvent(EventType.ON_PLAYER_CLAN_JOIN)
|
||||||
}
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
|
public void onPlayerClanJoin(OnPlayerClanJoin event)
|
||||||
@RegisterEvent(EventType.ON_PLAYER_CLAN_JOIN)
|
{
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
final L2PcInstance activeChar = event.getActiveChar().getPlayerInstance();
|
||||||
public void onPlayerClanJoin(OnPlayerClanJoin event)
|
if (activeChar.getClan().getLeader().isOnline())
|
||||||
{
|
{
|
||||||
final L2ClanMember activeChar = event.getActiveChar();
|
CLAN_ADVENT.getSkill().applyEffects(activeChar, activeChar);
|
||||||
if(activeChar.getClan() != null && activeChar.getClan().getLeader().isOnline()) {
|
}
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
}
|
||||||
clan.getMembers().forEach(member -> {
|
|
||||||
// Starting Clan Advent when leader log on
|
@RegisterEvent(EventType.ON_PLAYER_CLAN_LEFT)
|
||||||
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
});
|
public void onPlayerClanLeft(OnPlayerClanLeft event)
|
||||||
}
|
{
|
||||||
}
|
event.getActiveChar().getPlayerInstance().getEffectList().stopSkillEffects(true, CLAN_ADVENT.getSkill());
|
||||||
|
}
|
||||||
@RegisterEvent(EventType.ON_PLAYER_CLAN_LEFT)
|
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
|
||||||
public void onPlayerClanLeft(OnPlayerClanLeft event)
|
|
||||||
{
|
|
||||||
final L2ClanMember activeChar = event.getActiveChar();
|
|
||||||
if(activeChar.getClan() != null && activeChar.getClan().getLeader().isOnline()) {
|
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
|
||||||
clan.getMembers().forEach(member -> {
|
|
||||||
// Starting Clan Advent when leader log on
|
|
||||||
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
new Clan();
|
new Clan();
|
||||||
|
@ -20,25 +20,28 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.l2jmobius.gameserver.model.L2Clan;
|
import com.l2jmobius.gameserver.model.L2Clan;
|
||||||
import com.l2jmobius.gameserver.model.L2ClanMember;
|
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
|
||||||
import ai.AbstractNpcAI;
|
|
||||||
import com.l2jmobius.gameserver.model.events.EventType;
|
import com.l2jmobius.gameserver.model.events.EventType;
|
||||||
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||||
import com.l2jmobius.gameserver.model.events.impl.character.player.*;
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerClanJoin;
|
||||||
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerClanLeft;
|
||||||
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogin;
|
||||||
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogout;
|
||||||
|
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerProfessionChange;
|
||||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
|
|
||||||
|
import ai.AbstractNpcAI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author UnAfraid
|
* @author UnAfraid
|
||||||
*/
|
*/
|
||||||
public final class Clan extends AbstractNpcAI
|
public final class Clan extends AbstractNpcAI
|
||||||
{
|
{
|
||||||
private final SkillHolder CLAN_ADVENT = new SkillHolder(19009, 1);
|
private final SkillHolder CLAN_ADVENT = new SkillHolder(19009, 1);
|
||||||
|
|
||||||
// @formatter:off
|
// @formatter:off
|
||||||
private static final int[] NPCS =
|
private static final int[] NPCS =
|
||||||
{
|
{
|
||||||
@ -96,73 +99,80 @@ public final class Clan extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
return "9000-01.htm";
|
return "9000-01.htm";
|
||||||
}
|
}
|
||||||
|
|
||||||
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
|
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
public void onPlayerLogin(OnPlayerLogin event) {
|
public void onPlayerLogin(OnPlayerLogin event)
|
||||||
if(event.getActiveChar().isClanLeader()) {
|
{
|
||||||
|
final L2PcInstance activeChar = event.getActiveChar();
|
||||||
|
if (activeChar.isClanLeader())
|
||||||
|
{
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
final L2Clan clan = event.getActiveChar().getClan();
|
||||||
clan.getMembers().forEach(member -> {
|
clan.getMembers().forEach(member ->
|
||||||
// Starting Clan Advent when leader log on
|
{
|
||||||
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
if (member.isOnline())
|
||||||
|
{
|
||||||
|
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else if ((activeChar.getClan() != null) && activeChar.getClan().getLeader().isOnline())
|
||||||
|
{
|
||||||
|
CLAN_ADVENT.getSkill().applyEffects(activeChar, activeChar);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RegisterEvent(EventType.ON_PLAYER_LOGOUT)
|
@RegisterEvent(EventType.ON_PLAYER_LOGOUT)
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
public void onPlayerLogout(OnPlayerLogout event) {
|
public void onPlayerLogout(OnPlayerLogout event)
|
||||||
if(event.getActiveChar().isClanLeader()) {
|
{
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
final L2PcInstance activeChar = event.getActiveChar();
|
||||||
clan.getMembers().forEach(member -> {
|
if (activeChar.isClanLeader())
|
||||||
// Remove Clan Advent effect when leader log off
|
{
|
||||||
member.getPlayerInstance().getEffectList().stopSkillEffects(true, CLAN_ADVENT.getSkill());
|
final L2Clan clan = activeChar.getClan();
|
||||||
|
clan.getMembers().forEach(member ->
|
||||||
|
{
|
||||||
|
if (member.isOnline())
|
||||||
|
{
|
||||||
|
member.getPlayerInstance().getEffectList().stopSkillEffects(true, CLAN_ADVENT.getSkill());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else if (activeChar.getClan() != null)
|
||||||
|
{
|
||||||
|
activeChar.getEffectList().stopSkillEffects(true, CLAN_ADVENT.getSkill());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RegisterEvent(EventType.ON_PLAYER_PROFESSION_CHANGE)
|
@RegisterEvent(EventType.ON_PLAYER_PROFESSION_CHANGE)
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
public void onProfessionChange(OnPlayerProfessionChange event)
|
public void onProfessionChange(OnPlayerProfessionChange event)
|
||||||
{
|
{
|
||||||
final L2PcInstance activeChar = event.getActiveChar();
|
final L2PcInstance activeChar = event.getActiveChar();
|
||||||
if(activeChar.isClanLeader() || (activeChar.getClan() != null && activeChar.getClan().getLeader().isOnline())) {
|
if (activeChar.isClanLeader() || ((activeChar.getClan() != null) && activeChar.getClan().getLeader().isOnline()))
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
{
|
||||||
clan.getMembers().forEach(member -> {
|
CLAN_ADVENT.getSkill().applyEffects(activeChar, activeChar);
|
||||||
// Starting Clan Advent when leader log on
|
}
|
||||||
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
}
|
||||||
});
|
|
||||||
}
|
@RegisterEvent(EventType.ON_PLAYER_CLAN_JOIN)
|
||||||
}
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
|
public void onPlayerClanJoin(OnPlayerClanJoin event)
|
||||||
@RegisterEvent(EventType.ON_PLAYER_CLAN_JOIN)
|
{
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
final L2PcInstance activeChar = event.getActiveChar().getPlayerInstance();
|
||||||
public void onPlayerClanJoin(OnPlayerClanJoin event)
|
if (activeChar.getClan().getLeader().isOnline())
|
||||||
{
|
{
|
||||||
final L2ClanMember activeChar = event.getActiveChar();
|
CLAN_ADVENT.getSkill().applyEffects(activeChar, activeChar);
|
||||||
if(activeChar.getClan() != null && activeChar.getClan().getLeader().isOnline()) {
|
}
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
}
|
||||||
clan.getMembers().forEach(member -> {
|
|
||||||
// Starting Clan Advent when leader log on
|
@RegisterEvent(EventType.ON_PLAYER_CLAN_LEFT)
|
||||||
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
});
|
public void onPlayerClanLeft(OnPlayerClanLeft event)
|
||||||
}
|
{
|
||||||
}
|
event.getActiveChar().getPlayerInstance().getEffectList().stopSkillEffects(true, CLAN_ADVENT.getSkill());
|
||||||
|
}
|
||||||
@RegisterEvent(EventType.ON_PLAYER_CLAN_LEFT)
|
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
|
||||||
public void onPlayerClanLeft(OnPlayerClanLeft event)
|
|
||||||
{
|
|
||||||
final L2ClanMember activeChar = event.getActiveChar();
|
|
||||||
if(activeChar.getClan() != null && activeChar.getClan().getLeader().isOnline()) {
|
|
||||||
final L2Clan clan = event.getActiveChar().getClan();
|
|
||||||
clan.getMembers().forEach(member -> {
|
|
||||||
// Starting Clan Advent when leader log on
|
|
||||||
CLAN_ADVENT.getSkill().applyEffects(member.getPlayerInstance(), member.getPlayerInstance());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
new Clan();
|
new Clan();
|
||||||
|
Loading…
Reference in New Issue
Block a user