/*
* This file is part of aion-unique <aion-unique.org>.
*
* aion-unique is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* aion-unique is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with aion-unique. If not, see <http://www.gnu.org/licenses/>.
*/
package com.aionemu.gameserver.model.legion;
/**
* @author Simple
*
*/
public class LegionMember
{
private static final int LP_CENT_NONE = 0x60;
private int objectId = 0;
protected Legion legion = null;
protected String nickname = "";
protected String selfIntro = "";
protected LegionRank rank = LegionRank.LEGIONARY;
/**
* If player is defined later on this constructor is called
*/
public LegionMember(int objectId)
{
this.objectId = objectId;
}
/**
* This constructor is called when a legion is created
*/
public LegionMember(int objectId, Legion legion, LegionRank rank)
{
this.setObjectId(objectId);
this.setLegion(legion);
this.setRank(rank);
}
/**
* This constructor is called when a LegionMemberEx is called
*/
public LegionMember()
{
}
/**
* @param legion
* the legion to set
*/
public void setLegion(Legion legion)
{
this.legion = legion;
}
/**
* @return the legion
*/
public Legion getLegion()
{
return legion;
}
/**
* @param rank
* the rank to set
*/
public void setRank(LegionRank rank)
{
this.rank = rank;
}
/**
* @return the rank
*/
public LegionRank getRank()
{
return rank;
}
public boolean isBrigadeGeneral()
{
return rank == LegionRank.BRIGADE_GENERAL;
}
/**
* @param nickname
* the nickname to set
*/
public void setNickname(String nickname)
{
this.nickname = nickname;
}
/**
* @return the nickname
*/
public String getNickname()
{
return nickname;
}
/**
* @param selfIntro
* the selfIntro to set
*/
public void setSelfIntro(String selfIntro)
{
this.selfIntro = selfIntro;
}
/**
* @return the selfIntro
*/
public String getSelfIntro()
{
return selfIntro;
}
/**
* @param objectId
* the objectId to set
*/
public void setObjectId(int objectId)
{
this.objectId = objectId;
}
/**
* @return the objectId
*/
public int getObjectId()
{
return objectId;
}
public boolean hasRights(int type)
{
if(getRank() == LegionRank.BRIGADE_GENERAL)
return true;
int legionarPermission2 = getLegion().getLegionarPermission2();
int centurionPermission1 = getLegion().getCenturionPermission1() - LP_CENT_NONE;
int centurionPermission2 = getLegion().getCenturionPermission2();
switch(type)
{
case 1:
if(getRank().canInviteToLegion(centurionPermission1))
return true;
case 2:
if(getRank().canKickFromLegion(centurionPermission1))
return true;
case 3:
if(getRank().canUseLegionWarehouse(centurionPermission1))
return true;
case 4:
if(getRank().canEditAnnouncement(centurionPermission2))
return true;
case 5:
if(getRank().canUseArtifact(centurionPermission2))
return true;
case 6:
if(getRank().canUseGateGuardianStone(centurionPermission2, legionarPermission2))
return true;
}
return false;
}
}