/*
* This program 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.
*
* This program 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
* this program. If not, see .
*/
package com.l2jserver.gameserver.model;
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate.AIType;
/**
* This Data is for NPC Attributes and AI related stuffs.
* @author ShanSoft
*/
public class L2NpcAIData
{
// Basic AI
private int _primarySkillId;
private int _minskillChance;
private int _maxskillChance;
private int _canMove;
private int _soulshot;
private int _spiritshot;
private int _soulshotChance;
private int _spiritshotChance;
private int _isChaos;
private String _clan = null;
private int _clanRange;
private String _enemyClan = null;
private int _enemyRange;
private int _dodge;
private int _longRangeSkill;
private int _shortRangeSkill;
private int _longRangeChance;
private int _shortRangeChance;
private int _switchRangeChance;
private AIType _aiType = AIType.FIGHTER;
private int _aggroRange;
private boolean _showName;
private boolean _targetable;
public void setPrimarySkillId(int primarySkillId)
{
_primarySkillId = primarySkillId;
}
public void setMinSkillChance(int skill_chance)
{
_minskillChance = skill_chance;
}
public void setMaxSkillChance(int skill_chance)
{
_maxskillChance = skill_chance;
}
public void setCanMove(int canMove)
{
_canMove = canMove;
}
public void setSoulShot(int soulshot)
{
_soulshot = soulshot;
}
public void setSpiritShot(int spiritshot)
{
_spiritshot = spiritshot;
}
public void setSoulShotChance(int soulshotchance)
{
_soulshotChance = soulshotchance;
}
public void setSpiritShotChance(int spiritshotchance)
{
_spiritshotChance = spiritshotchance;
}
public void setShortRangeSkill(int shortrangeskill)
{
_shortRangeSkill = shortrangeskill;
}
public void setShortRangeChance(int shortrangechance)
{
_shortRangeChance = shortrangechance;
}
public void setLongRangeSkill(int longrangeskill)
{
_longRangeSkill = longrangeskill;
}
public void setLongRangeChance(int longrangechance)
{
_shortRangeChance = longrangechance;
}
public void setSwitchRangeChance(int switchrangechance)
{
_switchRangeChance = switchrangechance;
}
public void setIsChaos(int ischaos)
{
_isChaos = ischaos;
}
public void setClan(String clan)
{
if ((clan != null) && !clan.equals("") && !clan.equalsIgnoreCase("null"))
{
_clan = clan.intern();
}
}
public void setClanRange(int clanRange)
{
_clanRange = clanRange;
}
public void setEnemyClan(String enemyClan)
{
if ((enemyClan != null) && !enemyClan.equals("") && !enemyClan.equalsIgnoreCase("null"))
{
_enemyClan = enemyClan.intern();
}
}
public void setEnemyRange(int enemyRange)
{
_enemyRange = enemyRange;
}
public void setDodge(int dodge)
{
_dodge = dodge;
}
public void setAi(String ai)
{
if (ai.equalsIgnoreCase("archer"))
{
_aiType = AIType.ARCHER;
}
else if (ai.equalsIgnoreCase("balanced"))
{
_aiType = AIType.BALANCED;
}
else if (ai.equalsIgnoreCase("mage"))
{
_aiType = AIType.MAGE;
}
else if (ai.equalsIgnoreCase("healer"))
{
_aiType = AIType.HEALER;
}
else if (ai.equalsIgnoreCase("corpse"))
{
_aiType = AIType.CORPSE;
}
else
{
_aiType = AIType.FIGHTER;
}
}
public void setAggro(int val)
{
_aggroRange = val;
}
public void setTargetable(boolean val)
{
_targetable = val;
}
public void setShowName(boolean val)
{
_showName = val;
}
public int getPrimarySkillId()
{
return _primarySkillId;
}
public int getMinSkillChance()
{
return _minskillChance;
}
public int getMaxSkillChance()
{
return _maxskillChance;
}
public int getCanMove()
{
return _canMove;
}
public int getSoulShot()
{
return _soulshot;
}
public int getSpiritShot()
{
return _spiritshot;
}
public int getSoulShotChance()
{
return _soulshotChance;
}
public int getSpiritShotChance()
{
return _spiritshotChance;
}
public int getShortRangeSkill()
{
return _shortRangeSkill;
}
public int getShortRangeChance()
{
return _shortRangeChance;
}
public int getLongRangeSkill()
{
return _longRangeSkill;
}
public int getLongRangeChance()
{
return _longRangeChance;
}
public int getSwitchRangeChance()
{
return _switchRangeChance;
}
public int getIsChaos()
{
return _isChaos;
}
public String getClan()
{
return _clan;
}
public int getClanRange()
{
return _clanRange;
}
public String getEnemyClan()
{
return _enemyClan;
}
public int getEnemyRange()
{
return _enemyRange;
}
public int getDodge()
{
return _dodge;
}
public AIType getAiType()
{
return _aiType;
}
public int getAggroRange()
{
return _aggroRange;
}
/**
* @return {@code true} if the NPC name should shows above NPC, {@code false} otherwise.
*/
public boolean showName()
{
return _showName;
}
/**
* @return {@code true} if the NPC can be targeted, {@code false} otherwise.
*/
public boolean isTargetable()
{
return _targetable;
}
}