Addition of getters for creature template values.
This commit is contained in:
parent
7960f9fc58
commit
d4a8f7b744
@ -131,7 +131,7 @@ public class RaidbossInfo extends Quest
|
||||
for (Spawn spawn : SpawnTable.getInstance().getSpawnTable().values())
|
||||
{
|
||||
final NpcTemplate template = NpcTable.getInstance().getTemplate(spawn.getNpcId());
|
||||
if ((template != null) && template.type.equals(BOSS_CLASS_TYPE))
|
||||
if ((template != null) && template.getType().equals(BOSS_CLASS_TYPE))
|
||||
{
|
||||
RADARS.put(spawn.getNpcId(), new Location(spawn.getX(), spawn.getY(), spawn.getZ()));
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ public class Q336_CoinsOfMagic extends Quest
|
||||
final int npcId = npc.getNpcId();
|
||||
if ((npcId == HARIT_LIZARDMAN_MATRIARCH) || (npcId == HARIT_LIZARDMAN_SHAMAN))
|
||||
{
|
||||
if ((cond == 2) && (Rnd.get(100) < (10.0 * npc.getTemplate().baseHpConsumeRate)))
|
||||
if ((cond == 2) && (Rnd.get(100) < (10.0 * npc.getTemplate().getBaseHpConsumeRate())))
|
||||
{
|
||||
st.giveItems(KALDIS_COIN, 1);
|
||||
st.set("cond", "3");
|
||||
@ -378,7 +378,7 @@ public class Q336_CoinsOfMagic extends Quest
|
||||
{
|
||||
if (u == npcId)
|
||||
{
|
||||
if (Rnd.get(100) < (chance * npc.getTemplate().baseHpConsumeRate))
|
||||
if (Rnd.get(100) < (chance * npc.getTemplate().getBaseHpConsumeRate()))
|
||||
{
|
||||
st.giveItems(BASIC_COINS[Rnd.get(BASIC_COINS.length)], 1);
|
||||
}
|
||||
|
@ -752,7 +752,7 @@ public class AttackableAI extends CreatureAI
|
||||
_actor.setTarget(originalAttackTarget);
|
||||
skills = _actor.getAllSkills();
|
||||
// dist2 = _actor.getPlanDistanceSq(originalAttackTarget.getX(), originalAttackTarget.getY());
|
||||
range = _actor.getPhysicalAttackRange() + _actor.getTemplate().collisionRadius + originalAttackTarget.getTemplate().collisionRadius;
|
||||
range = _actor.getPhysicalAttackRange() + _actor.getTemplate().getCollisionRadius() + originalAttackTarget.getTemplate().getCollisionRadius();
|
||||
}
|
||||
catch (NullPointerException e)
|
||||
{
|
||||
@ -761,8 +761,8 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
|
||||
final Weapon weapon = _actor.getActiveWeaponItem();
|
||||
final int collision = _actor.getTemplate().collisionRadius;
|
||||
final int combinedCollision = collision + originalAttackTarget.getTemplate().collisionRadius;
|
||||
final int collision = _actor.getTemplate().getCollisionRadius();
|
||||
final int combinedCollision = collision + originalAttackTarget.getTemplate().getCollisionRadius();
|
||||
|
||||
// ------------------------------------------------------
|
||||
// In case many mobs are trying to hit from same place, move a bit,
|
||||
|
@ -193,7 +193,7 @@ public class ControllableMobAI extends AttackableAI
|
||||
|
||||
final Skill[] skills = _actor.getAllSkills();
|
||||
final double dist2 = _actor.getPlanDistanceSq(target.getX(), target.getY());
|
||||
final int range = _actor.getPhysicalAttackRange() + _actor.getTemplate().collisionRadius + target.getTemplate().collisionRadius;
|
||||
final int range = _actor.getPhysicalAttackRange() + _actor.getTemplate().getCollisionRadius() + target.getTemplate().getCollisionRadius();
|
||||
int maxRange = range;
|
||||
|
||||
if (!_actor.isMuted() && (dist2 > ((range + 20) * (range + 20))))
|
||||
@ -231,7 +231,7 @@ public class ControllableMobAI extends AttackableAI
|
||||
_actor.setTarget(getForcedTarget());
|
||||
final Skill[] skills = _actor.getAllSkills();
|
||||
final double dist2 = _actor.getPlanDistanceSq(getForcedTarget().getX(), getForcedTarget().getY());
|
||||
final int range = _actor.getPhysicalAttackRange() + _actor.getTemplate().collisionRadius + getForcedTarget().getTemplate().collisionRadius;
|
||||
final int range = _actor.getPhysicalAttackRange() + _actor.getTemplate().getCollisionRadius() + getForcedTarget().getTemplate().getCollisionRadius();
|
||||
int maxRange = range;
|
||||
|
||||
if (!_actor.isMuted() && (dist2 > ((range + 20) * (range + 20))))
|
||||
@ -301,7 +301,7 @@ public class ControllableMobAI extends AttackableAI
|
||||
_actor.setTarget(getAttackTarget());
|
||||
final Skill[] skills = _actor.getAllSkills();
|
||||
final double dist2 = _actor.getPlanDistanceSq(getAttackTarget().getX(), getAttackTarget().getY());
|
||||
final int range = _actor.getPhysicalAttackRange() + _actor.getTemplate().collisionRadius + getAttackTarget().getTemplate().collisionRadius;
|
||||
final int range = _actor.getPhysicalAttackRange() + _actor.getTemplate().getCollisionRadius() + getAttackTarget().getTemplate().getCollisionRadius();
|
||||
int maxRange = range;
|
||||
|
||||
if (!_actor.isMuted() && (dist2 > ((range + 20) * (range + 20))))
|
||||
|
@ -1000,10 +1000,10 @@ public class CreatureAI extends AbstractAI
|
||||
return false;
|
||||
}
|
||||
|
||||
int offsetWithCollision = offset + _actor.getTemplate().collisionRadius;
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target instanceof Creature)
|
||||
{
|
||||
offsetWithCollision += ((Creature) target).getTemplate().collisionRadius;
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius(target, offsetWithCollision, false, false))
|
||||
|
@ -610,7 +610,7 @@ public class FortSiegeGuardAI extends CreatureAI implements Runnable
|
||||
_actor.setTarget(attackTarget);
|
||||
skills = _actor.getAllSkills();
|
||||
dist2 = _actor.getPlanDistanceSq(attackTarget.getX(), attackTarget.getY());
|
||||
range = _actor.getPhysicalAttackRange() + _actor.getTemplate().collisionRadius + attackTarget.getTemplate().collisionRadius;
|
||||
range = _actor.getPhysicalAttackRange() + _actor.getTemplate().getCollisionRadius() + attackTarget.getTemplate().getCollisionRadius();
|
||||
if (attackTarget.isMoving())
|
||||
{
|
||||
range += 50;
|
||||
|
@ -331,7 +331,7 @@ public class SiegeGuardAI extends CreatureAI implements Runnable
|
||||
_actor.setTarget(attackTarget);
|
||||
skills = _actor.getAllSkills();
|
||||
dist2 = _actor.getPlanDistanceSq(attackTarget.getX(), attackTarget.getY());
|
||||
range = _actor.getPhysicalAttackRange() + _actor.getTemplate().collisionRadius + attackTarget.getTemplate().collisionRadius;
|
||||
range = _actor.getPhysicalAttackRange() + _actor.getTemplate().getCollisionRadius() + attackTarget.getTemplate().getCollisionRadius();
|
||||
}
|
||||
catch (NullPointerException e)
|
||||
{
|
||||
|
@ -223,7 +223,7 @@ public class CharTemplateTable
|
||||
ct.addItem(rset.getInt("items" + x));
|
||||
}
|
||||
}
|
||||
_templates.put(ct.classId.getId(), ct);
|
||||
_templates.put(ct.getClassId().getId(), ct);
|
||||
}
|
||||
|
||||
statement.close();
|
||||
|
@ -107,7 +107,7 @@ public class NpcTable
|
||||
final int skillId = npcskills.getInt("skillid");
|
||||
final int level = npcskills.getInt("level");
|
||||
|
||||
if ((npcDat.race == null) && (skillId == 4416))
|
||||
if ((npcDat.getRace() == null) && (skillId == 4416))
|
||||
{
|
||||
npcDat.setRace(level);
|
||||
continue;
|
||||
@ -548,7 +548,8 @@ public class NpcTable
|
||||
{
|
||||
categories.addAll(old.getDropData());
|
||||
}
|
||||
final ClassId[] classIds = old.getTeachInfo().clone();
|
||||
|
||||
final List<ClassId> classIds = old.getTeachInfo();
|
||||
|
||||
final List<MinionData> minions = new ArrayList<>();
|
||||
|
||||
@ -657,7 +658,7 @@ public class NpcTable
|
||||
|
||||
public void replaceTemplate(NpcTemplate npc)
|
||||
{
|
||||
_npcs.put(npc.npcId, npc);
|
||||
_npcs.put(npc.getNpcId(), npc);
|
||||
}
|
||||
|
||||
public NpcTemplate getTemplate(int id)
|
||||
@ -669,7 +670,7 @@ public class NpcTable
|
||||
{
|
||||
for (NpcTemplate npcTemplate : _npcs.values())
|
||||
{
|
||||
if (npcTemplate.name.equalsIgnoreCase(name))
|
||||
if (npcTemplate.getName().equalsIgnoreCase(name))
|
||||
{
|
||||
return npcTemplate;
|
||||
}
|
||||
@ -684,7 +685,7 @@ public class NpcTable
|
||||
|
||||
for (NpcTemplate t : _npcs.values())
|
||||
{
|
||||
if (t.level == lvl)
|
||||
if (t.getLevel() == lvl)
|
||||
{
|
||||
list.add(t);
|
||||
}
|
||||
@ -699,7 +700,7 @@ public class NpcTable
|
||||
|
||||
for (NpcTemplate t : _npcs.values())
|
||||
{
|
||||
if ((t.level == lvl) && "Monster".equals(t.type))
|
||||
if ((t.getLevel() == lvl) && "Monster".equals(t.getType()))
|
||||
{
|
||||
list.add(t);
|
||||
}
|
||||
@ -714,7 +715,7 @@ public class NpcTable
|
||||
|
||||
for (NpcTemplate t : _npcs.values())
|
||||
{
|
||||
if (t.name.startsWith(letter) && "Npc".equals(t.type))
|
||||
if (t.getName().startsWith(letter) && "Npc".equals(t.getType()))
|
||||
{
|
||||
list.add(t);
|
||||
}
|
||||
|
@ -82,19 +82,19 @@ public class SpawnTable
|
||||
template1 = NpcTable.getInstance().getTemplate(rset.getInt("npc_templateid"));
|
||||
if (template1 != null)
|
||||
{
|
||||
if (template1.type.equalsIgnoreCase("SiegeGuard"))
|
||||
if (template1.getType().equalsIgnoreCase("SiegeGuard"))
|
||||
{
|
||||
// Don't spawn
|
||||
}
|
||||
else if (template1.type.equalsIgnoreCase("RaidBoss"))
|
||||
else if (template1.getType().equalsIgnoreCase("RaidBoss"))
|
||||
{
|
||||
// Don't spawn raidboss
|
||||
}
|
||||
else if (template1.type.equalsIgnoreCase("GrandBoss"))
|
||||
else if (template1.getType().equalsIgnoreCase("GrandBoss"))
|
||||
{
|
||||
// Don't spawn grandboss
|
||||
}
|
||||
else if (!Config.ALLOW_CLASS_MASTERS && template1.type.equals("ClassMaster"))
|
||||
else if (!Config.ALLOW_CLASS_MASTERS && template1.getType().equals("ClassMaster"))
|
||||
{
|
||||
// Dont' spawn class masters
|
||||
}
|
||||
@ -188,15 +188,15 @@ public class SpawnTable
|
||||
|
||||
if (template1 != null)
|
||||
{
|
||||
if (template1.type.equalsIgnoreCase("SiegeGuard"))
|
||||
if (template1.getType().equalsIgnoreCase("SiegeGuard"))
|
||||
{
|
||||
// Don't spawn
|
||||
}
|
||||
else if (template1.type.equalsIgnoreCase("RaidBoss"))
|
||||
else if (template1.getType().equalsIgnoreCase("RaidBoss"))
|
||||
{
|
||||
// Don't spawn raidboss
|
||||
}
|
||||
else if (!Config.ALLOW_CLASS_MASTERS && template1.type.equals("ClassMaster"))
|
||||
else if (!Config.ALLOW_CLASS_MASTERS && template1.getType().equals("ClassMaster"))
|
||||
{
|
||||
// Dont' spawn class masters
|
||||
}
|
||||
@ -368,7 +368,7 @@ public class SpawnTable
|
||||
}
|
||||
else
|
||||
{
|
||||
player.sendMessage(index + " - " + spawn.getTemplate().name + " (" + spawn.getId() + "): " + spawn.getX() + " " + spawn.getY() + " " + spawn.getZ());
|
||||
player.sendMessage(index + " - " + spawn.getTemplate().getName() + " (" + spawn.getId() + "): " + spawn.getX() + " " + spawn.getY() + " " + spawn.getZ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -407,13 +407,13 @@ public class GeoEngine
|
||||
double oheight = 0;
|
||||
if (origin.isCreature())
|
||||
{
|
||||
oheight = ((Creature) origin).getTemplate().collisionHeight * 2;
|
||||
oheight = ((Creature) origin).getTemplate().getCollisionHeight() * 2;
|
||||
}
|
||||
|
||||
double theight = 0;
|
||||
if (target.isCreature())
|
||||
{
|
||||
theight = ((Creature) target).getTemplate().collisionHeight * 2;
|
||||
theight = ((Creature) target).getTemplate().getCollisionHeight() * 2;
|
||||
}
|
||||
|
||||
// perform geodata check
|
||||
@ -475,7 +475,7 @@ public class GeoEngine
|
||||
double oheight = 0;
|
||||
if (origin.isCreature())
|
||||
{
|
||||
oheight = ((Creature) origin).getTemplate().collisionHeight;
|
||||
oheight = ((Creature) origin).getTemplate().getCollisionHeight();
|
||||
}
|
||||
|
||||
// perform geodata check
|
||||
|
@ -503,7 +503,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
{
|
||||
player.setBaseClass(classId);
|
||||
}
|
||||
final String newclass = player.getTemplate().className;
|
||||
final String newclass = player.getTemplate().getClassName();
|
||||
player.store();
|
||||
if (player != activeChar)
|
||||
{
|
||||
@ -992,7 +992,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
|
||||
for (int i = CharactersStart; i < charactersEnd; i++)
|
||||
{
|
||||
replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_info " + players[i].getName() + "\">" + players[i].getName() + "</a></td><td width=110>" + players[i].getTemplate().className + "</td><td width=40>" + players[i].getLevel() + "</td></tr>");
|
||||
replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_info " + players[i].getName() + "\">" + players[i].getName() + "</a></td><td width=110>" + players[i].getTemplate().getClassName() + "</td><td width=40>" + players[i].getLevel() + "</td></tr>");
|
||||
}
|
||||
|
||||
adminReply.replace("%players%", replyMSG.toString());
|
||||
@ -1038,7 +1038,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
}
|
||||
adminReply.replace("%xp%", String.valueOf(player.getExp()));
|
||||
adminReply.replace("%sp%", String.valueOf(player.getSp()));
|
||||
adminReply.replace("%class%", player.getTemplate().className);
|
||||
adminReply.replace("%class%", player.getTemplate().getClassName());
|
||||
adminReply.replace("%ordinal%", String.valueOf(player.getClassId().ordinal()));
|
||||
adminReply.replace("%classid%", String.valueOf(player.getClassId()));
|
||||
adminReply.replace("%x%", String.valueOf(player.getX()));
|
||||
@ -1215,7 +1215,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
if (name.toLowerCase().contains(characterToFind.toLowerCase()))
|
||||
{
|
||||
charactersFound = charactersFound + 1;
|
||||
replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_list " + name + "\">" + name + "</a></td><td width=110>" + player.getTemplate().className + "</td><td width=40>" + player.getLevel() + "</td></tr>");
|
||||
replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_list " + name + "\">" + name + "</a></td><td width=110>" + player.getTemplate().getClassName() + "</td><td width=40>" + player.getLevel() + "</td></tr>");
|
||||
}
|
||||
|
||||
if (charactersFound > 20)
|
||||
@ -1341,7 +1341,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
{
|
||||
name = player.getName();
|
||||
charactersFound = charactersFound + 1;
|
||||
replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_list " + name + "\">" + name + "</a></td><td width=110>" + player.getTemplate().className + "</td><td width=40>" + player.getLevel() + "</td></tr>");
|
||||
replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_list " + name + "\">" + name + "</a></td><td width=110>" + player.getTemplate().getClassName() + "</td><td width=40>" + player.getLevel() + "</td></tr>");
|
||||
}
|
||||
|
||||
if (charactersFound > 20)
|
||||
|
@ -913,46 +913,46 @@ public class AdminEditNpc implements IAdminCommandHandler
|
||||
if (content != null)
|
||||
{
|
||||
adminReply.setHtml(content);
|
||||
adminReply.replace("%npcId%", String.valueOf(npc.npcId));
|
||||
adminReply.replace("%templateId%", String.valueOf(npc.idTemplate));
|
||||
adminReply.replace("%name%", npc.name);
|
||||
adminReply.replace("%serverSideName%", npc.serverSideName ? "1" : "0");
|
||||
adminReply.replace("%title%", npc.title);
|
||||
adminReply.replace("%serverSideTitle%", npc.serverSideTitle ? "1" : "0");
|
||||
adminReply.replace("%collisionRadius%", String.valueOf(npc.collisionRadius));
|
||||
adminReply.replace("%collisionHeight%", String.valueOf(npc.collisionHeight));
|
||||
adminReply.replace("%level%", String.valueOf(npc.level));
|
||||
adminReply.replace("%sex%", npc.sex);
|
||||
adminReply.replace("%type%", npc.type);
|
||||
adminReply.replace("%attackRange%", String.valueOf(npc.baseAtkRange));
|
||||
adminReply.replace("%hp%", String.valueOf(npc.baseHpMax));
|
||||
adminReply.replace("%mp%", String.valueOf(npc.baseMpMax));
|
||||
adminReply.replace("%hpRegen%", String.valueOf(npc.baseHpReg));
|
||||
adminReply.replace("%mpRegen%", String.valueOf(npc.baseMpReg));
|
||||
adminReply.replace("%str%", String.valueOf(npc.baseSTR));
|
||||
adminReply.replace("%con%", String.valueOf(npc.baseCON));
|
||||
adminReply.replace("%dex%", String.valueOf(npc.baseDEX));
|
||||
adminReply.replace("%int%", String.valueOf(npc.baseINT));
|
||||
adminReply.replace("%wit%", String.valueOf(npc.baseWIT));
|
||||
adminReply.replace("%men%", String.valueOf(npc.baseMEN));
|
||||
adminReply.replace("%exp%", String.valueOf(npc.rewardExp));
|
||||
adminReply.replace("%sp%", String.valueOf(npc.rewardSp));
|
||||
adminReply.replace("%pAtk%", String.valueOf(npc.basePAtk));
|
||||
adminReply.replace("%pDef%", String.valueOf(npc.basePDef));
|
||||
adminReply.replace("%mAtk%", String.valueOf(npc.baseMAtk));
|
||||
adminReply.replace("%mDef%", String.valueOf(npc.baseMDef));
|
||||
adminReply.replace("%pAtkSpd%", String.valueOf(npc.basePAtkSpd));
|
||||
adminReply.replace("%aggro%", String.valueOf(npc.aggroRange));
|
||||
adminReply.replace("%mAtkSpd%", String.valueOf(npc.baseMAtkSpd));
|
||||
adminReply.replace("%rHand%", String.valueOf(npc.rhand));
|
||||
adminReply.replace("%lHand%", String.valueOf(npc.lhand));
|
||||
adminReply.replace("%armor%", String.valueOf(npc.armor));
|
||||
adminReply.replace("%walkSpd%", String.valueOf(npc.baseWalkSpd));
|
||||
adminReply.replace("%runSpd%", String.valueOf(npc.baseRunSpd));
|
||||
adminReply.replace("%factionId%", npc.factionId == null ? "" : npc.factionId);
|
||||
adminReply.replace("%factionRange%", String.valueOf(npc.factionRange));
|
||||
adminReply.replace("%isUndead%", npc.isUndead ? "1" : "0");
|
||||
adminReply.replace("%absorbLevel%", String.valueOf(npc.absorbLevel));
|
||||
adminReply.replace("%npcId%", String.valueOf(npc.getNpcId()));
|
||||
adminReply.replace("%templateId%", String.valueOf(npc.getIdTemplate()));
|
||||
adminReply.replace("%name%", npc.getName());
|
||||
adminReply.replace("%serverSideName%", npc.isServerSideName() ? "1" : "0");
|
||||
adminReply.replace("%title%", npc.getTitle());
|
||||
adminReply.replace("%serverSideTitle%", npc.isServerSideTitle() ? "1" : "0");
|
||||
adminReply.replace("%collisionRadius%", String.valueOf(npc.getCollisionRadius()));
|
||||
adminReply.replace("%collisionHeight%", String.valueOf(npc.getCollisionHeight()));
|
||||
adminReply.replace("%level%", String.valueOf(npc.getLevel()));
|
||||
adminReply.replace("%sex%", npc.getSex());
|
||||
adminReply.replace("%type%", npc.getType());
|
||||
adminReply.replace("%attackRange%", String.valueOf(npc.getBaseAtkRange()));
|
||||
adminReply.replace("%hp%", String.valueOf(npc.getBaseHpMax()));
|
||||
adminReply.replace("%mp%", String.valueOf(npc.getBaseMpMax()));
|
||||
adminReply.replace("%hpRegen%", String.valueOf(npc.getBaseHpReg()));
|
||||
adminReply.replace("%mpRegen%", String.valueOf(npc.getBaseMpReg()));
|
||||
adminReply.replace("%str%", String.valueOf(npc.getBaseSTR()));
|
||||
adminReply.replace("%con%", String.valueOf(npc.getBaseCON()));
|
||||
adminReply.replace("%dex%", String.valueOf(npc.getBaseDEX()));
|
||||
adminReply.replace("%int%", String.valueOf(npc.getBaseINT()));
|
||||
adminReply.replace("%wit%", String.valueOf(npc.getBaseWIT()));
|
||||
adminReply.replace("%men%", String.valueOf(npc.getBaseMEN()));
|
||||
adminReply.replace("%exp%", String.valueOf(npc.getRewardExp()));
|
||||
adminReply.replace("%sp%", String.valueOf(npc.getRewardSp()));
|
||||
adminReply.replace("%pAtk%", String.valueOf(npc.getBasePAtk()));
|
||||
adminReply.replace("%pDef%", String.valueOf(npc.getBasePDef()));
|
||||
adminReply.replace("%mAtk%", String.valueOf(npc.getBaseMAtk()));
|
||||
adminReply.replace("%mDef%", String.valueOf(npc.getBaseMDef()));
|
||||
adminReply.replace("%pAtkSpd%", String.valueOf(npc.getBasePAtkSpd()));
|
||||
adminReply.replace("%aggro%", String.valueOf(npc.getAggroRange()));
|
||||
adminReply.replace("%mAtkSpd%", String.valueOf(npc.getBaseMAtkSpd()));
|
||||
adminReply.replace("%rHand%", String.valueOf(npc.getRhand()));
|
||||
adminReply.replace("%lHand%", String.valueOf(npc.getLhand()));
|
||||
adminReply.replace("%armor%", String.valueOf(npc.getArmor()));
|
||||
adminReply.replace("%walkSpd%", String.valueOf(npc.getBaseWalkSpd()));
|
||||
adminReply.replace("%runSpd%", String.valueOf(npc.getBaseRunSpd()));
|
||||
adminReply.replace("%factionId%", npc.getFactionId() == null ? "" : npc.getFactionId());
|
||||
adminReply.replace("%factionRange%", String.valueOf(npc.getFactionRange()));
|
||||
adminReply.replace("%isUndead%", npc.isUndead() ? "1" : "0");
|
||||
adminReply.replace("%absorbLevel%", String.valueOf(npc.getAbsorbLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1213,7 +1213,7 @@ public class AdminEditNpc implements IAdminCommandHandler
|
||||
|
||||
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||
|
||||
final StringBuilder replyMSG = new StringBuilder("<html><title>NPC: " + npcData.name + "(" + npcData.npcId + ") 's drop manage</title>");
|
||||
final StringBuilder replyMSG = new StringBuilder("<html><title>NPC: " + npcData.getName() + "(" + npcData.getNpcId() + ") 's drop manage</title>");
|
||||
replyMSG.append("<body>");
|
||||
replyMSG.append("<br>Notes: click[drop_id]to show the detail of drop data,click[del] to delete the drop data!");
|
||||
replyMSG.append("<table>");
|
||||
@ -1226,10 +1226,10 @@ public class AdminEditNpc implements IAdminCommandHandler
|
||||
itemTemplate = ItemTable.getInstance().getTemplate(drop.getItemId());
|
||||
if (itemTemplate == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": Unkown item Id: " + drop.getItemId() + " for NPC: " + npcData.npcId);
|
||||
LOGGER.warning(getClass().getSimpleName() + ": Unkown item Id: " + drop.getItemId() + " for NPC: " + npcData.getNpcId());
|
||||
continue;
|
||||
}
|
||||
replyMSG.append("<tr><td><a action=\"bypass -h admin_edit_drop " + npcData.npcId + " " + drop.getItemId() + " " + cat.getCategoryType() + "\">" + npcData.npcId + " " + drop.getItemId() + " " + cat.getCategoryType() + "</a></td><td>" + itemTemplate.getName() + "[" + drop.getItemId() + "]</td><td>" + (drop.isQuestDrop() ? "Q" : cat.isSweep() ? "S" : "D") + "</td><td><a action=\"bypass -h admin_del_drop " + npcData.npcId + " " + drop.getItemId() + " " + cat.getCategoryType() + "\">del</a></td></tr>");
|
||||
replyMSG.append("<tr><td><a action=\"bypass -h admin_edit_drop " + npcData.getNpcId() + " " + drop.getItemId() + " " + cat.getCategoryType() + "\">" + npcData.getNpcId() + " " + drop.getItemId() + " " + cat.getCategoryType() + "</a></td><td>" + itemTemplate.getName() + "[" + drop.getItemId() + "]</td><td>" + (drop.isQuestDrop() ? "Q" : cat.isSweep() ? "S" : "D") + "</td><td><a action=\"bypass -h admin_del_drop " + npcData.getNpcId() + " " + drop.getItemId() + " " + cat.getCategoryType() + "\">del</a></td></tr>");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1258,7 +1258,7 @@ public class AdminEditNpc implements IAdminCommandHandler
|
||||
if (dropData.next())
|
||||
{
|
||||
replyMSG.append("<table>");
|
||||
replyMSG.append("<tr><td>Appertain of NPC</td><td>" + NpcTable.getInstance().getTemplate(dropData.getInt("mobId")).name + "</td></tr>");
|
||||
replyMSG.append("<tr><td>Appertain of NPC</td><td>" + NpcTable.getInstance().getTemplate(dropData.getInt("mobId")).getName() + "</td></tr>");
|
||||
replyMSG.append("<tr><td>ItemName</td><td>" + ItemTable.getInstance().getTemplate(dropData.getInt("itemId")).getName() + "(" + dropData.getInt("itemId") + ")</td></tr>");
|
||||
replyMSG.append("<tr><td>Category</td><td>" + (category == -1 ? "sweep" : Integer.toString(category)) + "</td></tr>");
|
||||
replyMSG.append("<tr><td>MIN(" + dropData.getInt("min") + ")</td><td><edit var=\"min\" width=80></td></tr>");
|
||||
@ -1288,7 +1288,7 @@ public class AdminEditNpc implements IAdminCommandHandler
|
||||
{
|
||||
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||
|
||||
final StringBuilder replyMSG = new StringBuilder("<html><title>Add dropdata to " + npcData.name + "(" + npcData.npcId + ")</title>");
|
||||
final StringBuilder replyMSG = new StringBuilder("<html><title>Add dropdata to " + npcData.getName() + "(" + npcData.getNpcId() + ")</title>");
|
||||
replyMSG.append("<body>");
|
||||
replyMSG.append("<table>");
|
||||
replyMSG.append("<tr><td>Item-Id</td><td><edit var=\"itemId\" width=80></td></tr>");
|
||||
@ -1298,8 +1298,8 @@ public class AdminEditNpc implements IAdminCommandHandler
|
||||
replyMSG.append("<tr><td>CHANCE(0-1000000)</td><td><edit var=\"chance\" width=80></td></tr>");
|
||||
replyMSG.append("</table>");
|
||||
replyMSG.append("<center>");
|
||||
replyMSG.append("<button value=\"SAVE\" action=\"bypass -h admin_add_drop " + npcData.npcId + " $itemId $category $min $max $chance\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
replyMSG.append("<br><button value=\"DropList\" action=\"bypass -h admin_show_droplist " + npcData.npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
replyMSG.append("<button value=\"SAVE\" action=\"bypass -h admin_add_drop " + npcData.getNpcId() + " $itemId $category $min $max $chance\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
replyMSG.append("<br><button value=\"DropList\" action=\"bypass -h admin_show_droplist " + npcData.getNpcId() + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
replyMSG.append("</center>");
|
||||
replyMSG.append("</body></html>");
|
||||
adminReply.setHtml(replyMSG.toString());
|
||||
|
@ -111,7 +111,7 @@ public class AdminExpSp implements IAdminCommandHandler
|
||||
adminReply.replace("%level%", String.valueOf(player.getLevel()));
|
||||
adminReply.replace("%xp%", String.valueOf(player.getExp()));
|
||||
adminReply.replace("%sp%", String.valueOf(player.getSp()));
|
||||
adminReply.replace("%class%", player.getTemplate().className);
|
||||
adminReply.replace("%class%", player.getTemplate().getClassName());
|
||||
activeChar.sendPacket(adminReply);
|
||||
}
|
||||
|
||||
|
@ -136,11 +136,11 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
replyMSG.append("<table>");
|
||||
replyMSG.append("<tr><td>First</td><td>Second</td></tr>");
|
||||
replyMSG.append("<tr><td>level " + lvl1 + "</td><td>level " + lvl2 + "</td></tr>");
|
||||
replyMSG.append("<tr><td>id " + npc1.npcId + "</td><td>id " + npc2.npcId + "</td></tr>");
|
||||
replyMSG.append("<tr><td>" + npc1.name + "</td><td>" + npc2.name + "</td></tr>");
|
||||
replyMSG.append("<tr><td>id " + npc1.getNpcId() + "</td><td>id " + npc2.getNpcId() + "</td></tr>");
|
||||
replyMSG.append("<tr><td>" + npc1.getName() + "</td><td>" + npc2.getName() + "</td></tr>");
|
||||
replyMSG.append("</table>");
|
||||
replyMSG.append("<center><br><br><br>");
|
||||
replyMSG.append("<button value=\"OK\" action=\"bypass -h admin_fight_calculator_show " + npc1.npcId + " " + npc2.npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
replyMSG.append("<button value=\"OK\" action=\"bypass -h admin_fight_calculator_show " + npc1.getNpcId() + " " + npc2.getNpcId() + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
replyMSG.append("</center>");
|
||||
replyMSG.append("</body></html>");
|
||||
}
|
||||
@ -153,7 +153,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
|
||||
for (NpcTemplate n : npcs)
|
||||
{
|
||||
replyMSG.append("<tr><td><a action=\"bypass -h admin_fight_calculator lvl1 " + lvl1 + " lvl2 " + lvl2 + " mid1 " + n.npcId + " mid2 " + mid2 + "\">" + n.name + "</a></td></tr>");
|
||||
replyMSG.append("<tr><td><a action=\"bypass -h admin_fight_calculator lvl1 " + lvl1 + " lvl2 " + lvl2 + " mid1 " + n.getNpcId() + " mid2 " + mid2 + "\">" + n.getName() + "</a></td></tr>");
|
||||
}
|
||||
|
||||
replyMSG.append("</table></body></html>");
|
||||
@ -167,7 +167,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
|
||||
for (NpcTemplate n : npcs)
|
||||
{
|
||||
replyMSG.append("<tr><td><a action=\"bypass -h admin_fight_calculator lvl1 " + lvl1 + " lvl2 " + lvl2 + " mid1 " + mid1 + " mid2 " + n.npcId + "\">" + n.name + "</a></td></tr>");
|
||||
replyMSG.append("<tr><td><a action=\"bypass -h admin_fight_calculator lvl1 " + lvl1 + " lvl2 " + lvl2 + " mid1 " + mid1 + " mid2 " + n.getNpcId() + "\">" + n.getName() + "</a></td></tr>");
|
||||
}
|
||||
|
||||
replyMSG.append("</table></body></html>");
|
||||
@ -369,7 +369,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
}
|
||||
else
|
||||
{
|
||||
replyMSG.append("<tr><td width=140>Parameter</td><td width=70>" + ((NpcTemplate) npc1.getTemplate()).name + "</td><td width=70>" + ((NpcTemplate) npc2.getTemplate()).name + "</td></tr>");
|
||||
replyMSG.append("<tr><td width=140>Parameter</td><td width=70>" + ((NpcTemplate) npc1.getTemplate()).getName() + "</td><td width=70>" + ((NpcTemplate) npc2.getTemplate()).getName() + "</td></tr>");
|
||||
}
|
||||
|
||||
replyMSG.append("<tr><td>miss</td><td>" + miss1 + "%</td><td>" + miss2 + "%</td></tr>");
|
||||
@ -412,7 +412,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
}
|
||||
else
|
||||
{
|
||||
replyMSG.append("<button value=\"Retry\" action=\"bypass -h admin_fight_calculator_show " + ((NpcTemplate) npc1.getTemplate()).npcId + " " + ((NpcTemplate) npc2.getTemplate()).npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
replyMSG.append("<button value=\"Retry\" action=\"bypass -h admin_fight_calculator_show " + ((NpcTemplate) npc1.getTemplate()).getNpcId() + " " + ((NpcTemplate) npc2.getTemplate()).getNpcId() + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
}
|
||||
|
||||
replyMSG.append("</center>");
|
||||
|
@ -166,7 +166,7 @@ public class AdminMammon implements IAdminCommandHandler
|
||||
else
|
||||
{
|
||||
params[1] = params[1].replace('_', ' ');
|
||||
npcId = NpcTable.getInstance().getTemplateByName(params[1]).npcId;
|
||||
npcId = NpcTable.getInstance().getTemplateByName(params[1]).getNpcId();
|
||||
}
|
||||
|
||||
if (params.length > 2)
|
||||
|
@ -650,7 +650,7 @@ public class AdminMobGroup implements IAdminCommandHandler
|
||||
|
||||
for (MobGroup mobGroup : mobGroupList)
|
||||
{
|
||||
activeChar.sendMessage(mobGroup.getGroupId() + ": " + mobGroup.getActiveMobCount() + " alive out of " + mobGroup.getMaxMobCount() + " of NPC ID " + mobGroup.getTemplate().npcId + " (" + mobGroup.getStatus() + ")");
|
||||
activeChar.sendMessage(mobGroup.getGroupId() + ": " + mobGroup.getActiveMobCount() + " alive out of " + mobGroup.getMaxMobCount() + " of NPC ID " + mobGroup.getTemplate().getNpcId() + " (" + mobGroup.getStatus() + ")");
|
||||
}
|
||||
|
||||
activeChar.sendPacket(SystemMessageId.FRIEND_LIST_FOOT);
|
||||
|
@ -288,7 +288,7 @@ public class AdminSkill implements IAdminCommandHandler
|
||||
replyMSG.append("</tr></table>");
|
||||
replyMSG.append("<br><br>");
|
||||
replyMSG.append("<center>Editing <font color=\"LEVEL\">" + player.getName() + "</font></center>");
|
||||
replyMSG.append("<br><table width=270><tr><td>Lv: " + player.getLevel() + " " + player.getTemplate().className + "</td></tr></table>");
|
||||
replyMSG.append("<br><table width=270><tr><td>Lv: " + player.getLevel() + " " + player.getTemplate().getClassName() + "</td></tr></table>");
|
||||
replyMSG.append("<br><table width=270><tr><td>Note: Dont forget that modifying players skills can</td></tr>");
|
||||
replyMSG.append("<tr><td>ruin the game...</td></tr></table>");
|
||||
replyMSG.append("<br><center>Click on the skill you wish to remove:</center>");
|
||||
@ -343,7 +343,7 @@ public class AdminSkill implements IAdminCommandHandler
|
||||
adminReply.setFile("data/html/admin/charskills.htm");
|
||||
adminReply.replace("%name%", player.getName());
|
||||
adminReply.replace("%level%", String.valueOf(player.getLevel()));
|
||||
adminReply.replace("%class%", player.getTemplate().className);
|
||||
adminReply.replace("%class%", player.getTemplate().getClassName());
|
||||
activeChar.sendPacket(adminReply);
|
||||
}
|
||||
|
||||
|
@ -310,7 +310,7 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
|
||||
if (RaidBossSpawnManager.getInstance().isDefined(spawn.getNpcId()) || GrandBossManager.getInstance().isDefined(spawn.getNpcId()))
|
||||
{
|
||||
BuilderUtil.sendSysMessage(activeChar, "Another instance of " + template1.name + " already present into database:");
|
||||
BuilderUtil.sendSysMessage(activeChar, "Another instance of " + template1.getName() + " already present into database:");
|
||||
BuilderUtil.sendSysMessage(activeChar, "It will be spawned but not saved on Database");
|
||||
BuilderUtil.sendSysMessage(activeChar, "After server restart or raid dead, the spawned npc will desappear");
|
||||
permanent = false;
|
||||
@ -333,7 +333,7 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
spawn.stopRespawn();
|
||||
}
|
||||
|
||||
BuilderUtil.sendSysMessage(activeChar, "Created " + template1.name + " on " + target.getObjectId());
|
||||
BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@ -356,7 +356,7 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
boolean ended = true;
|
||||
for (int i = from; i < mobs.length; i++)
|
||||
{
|
||||
final String txt = "<a action=\"bypass -h admin_spawn_monster " + mobs[i].npcId + "\">" + mobs[i].name + "</a><br1>";
|
||||
final String txt = "<a action=\"bypass -h admin_spawn_monster " + mobs[i].getNpcId() + "\">" + mobs[i].getName() + "</a><br1>";
|
||||
|
||||
if ((tb.length() + txt.length() + end2.length()) > 8192)
|
||||
{
|
||||
@ -396,7 +396,7 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
boolean ended = true;
|
||||
for (int i = from; i < mobs.length; i++)
|
||||
{
|
||||
final String txt = "<a action=\"bypass -h admin_spawn_monster " + mobs[i].npcId + "\">" + mobs[i].name + "</a><br1>";
|
||||
final String txt = "<a action=\"bypass -h admin_spawn_monster " + mobs[i].getNpcId() + "\">" + mobs[i].getName() + "</a><br1>";
|
||||
|
||||
if ((tb.length() + txt.length() + end2.length()) > 8192)
|
||||
{
|
||||
|
@ -590,7 +590,7 @@ public class AdminTeleport implements IAdminCommandHandler
|
||||
{
|
||||
final NpcInstance target = (NpcInstance) obj;
|
||||
|
||||
final int monsterTemplate = target.getTemplate().npcId;
|
||||
final int monsterTemplate = target.getTemplate().getNpcId();
|
||||
|
||||
final NpcTemplate template1 = NpcTable.getInstance().getTemplate(monsterTemplate);
|
||||
|
||||
@ -632,7 +632,7 @@ public class AdminTeleport implements IAdminCommandHandler
|
||||
spawn.init();
|
||||
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
|
||||
sm.addString("Created " + template1.name + " on " + target.getObjectId() + ".");
|
||||
sm.addString("Created " + template1.getName() + " on " + target.getObjectId() + ".");
|
||||
activeChar.sendPacket(sm);
|
||||
}
|
||||
catch (Exception e)
|
||||
|
@ -63,12 +63,12 @@ public class AdminTest implements IAdminCommandHandler
|
||||
final Creature target = (Creature) activeChar.getTarget();
|
||||
|
||||
BuilderUtil.sendSysMessage(activeChar, "Activechar Mcrit " + activeChar.getMCriticalHit(null, null));
|
||||
BuilderUtil.sendSysMessage(activeChar, "Activechar baseMCritRate " + activeChar.getTemplate().baseMCritRate);
|
||||
BuilderUtil.sendSysMessage(activeChar, "Activechar baseMCritRate " + activeChar.getTemplate().getBaseMCritRate());
|
||||
|
||||
if (target != null)
|
||||
{
|
||||
BuilderUtil.sendSysMessage(activeChar, "Target Mcrit " + target.getMCriticalHit(null, null));
|
||||
BuilderUtil.sendSysMessage(activeChar, "Target baseMCritRate " + target.getTemplate().baseMCritRate);
|
||||
BuilderUtil.sendSysMessage(activeChar, "Target baseMCritRate " + target.getTemplate().getBaseMCritRate());
|
||||
}
|
||||
}
|
||||
if (command.equals("admin_addbufftest"))
|
||||
|
@ -75,7 +75,7 @@ public class JackpotSeed implements IItemHandler
|
||||
gourd.setOwner(player.getName());
|
||||
player.destroyItem("Consume", item.getObjectId(), 1, null, false);
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
|
||||
sm.addString("Created " + template1.name + " at x: " + spawn.getX() + " y: " + spawn.getY() + " z: " + spawn.getZ());
|
||||
sm.addString("Created " + template1.getName() + " at x: " + spawn.getX() + " y: " + spawn.getY() + " z: " + spawn.getZ());
|
||||
player.sendPacket(sm);
|
||||
}
|
||||
catch (Exception e)
|
||||
|
@ -153,7 +153,7 @@ public class SummonItems implements IItemHandler
|
||||
spawn.setZ(player.getZ());
|
||||
World.getInstance().storeObject(spawn.doSpawn());
|
||||
player.destroyItem("Summon", item.getObjectId(), 1, null, false);
|
||||
player.sendMessage("Created " + npcTemplate.name + " at x: " + spawn.getX() + " y: " + spawn.getY() + " z: " + spawn.getZ());
|
||||
player.sendMessage("Created " + npcTemplate.getName() + " at x: " + spawn.getX() + " y: " + spawn.getY() + " z: " + spawn.getZ());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -97,7 +97,7 @@ public class Mount implements IUserCommandHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
final Ride mount = new Ride(player.getObjectId(), Ride.ACTION_MOUNT, pet.getTemplate().npcId);
|
||||
final Ride mount = new Ride(player.getObjectId(), Ride.ACTION_MOUNT, pet.getTemplate().getNpcId());
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(player, mount, 810000/* 900 */);
|
||||
player.setMountType(mount.getMountType());
|
||||
player.setMountObjectID(pet.getControlItemId());
|
||||
|
@ -448,7 +448,7 @@ public class GrandBossManager
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!template.type.equalsIgnoreCase("GrandBoss"))
|
||||
if (!template.getType().equalsIgnoreCase("GrandBoss"))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@ -484,7 +484,7 @@ public class RaidBossSpawnManager
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!template.type.equalsIgnoreCase("RaidBoss"))
|
||||
if (!template.getType().equalsIgnoreCase("RaidBoss"))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@ -1965,7 +1965,7 @@ public class Attackable extends NpcInstance
|
||||
|
||||
// Instant Item Drop :>
|
||||
final double rateHp = getStat().calcStat(Stats.MAX_HP, 1, this, null);
|
||||
if ((rateHp < 2) && npcTemplate.type.contentEquals("Monster")) // only Monster with <= 1x HP can drop herbs
|
||||
if ((rateHp < 2) && npcTemplate.getType().contentEquals("Monster")) // only Monster with <= 1x HP can drop herbs
|
||||
{
|
||||
boolean hp = false;
|
||||
boolean mp = false;
|
||||
@ -2670,7 +2670,7 @@ public class Attackable extends NpcInstance
|
||||
boolean doLevelup = true;
|
||||
final boolean isBossMob = maxAbsorbLevel > 10;
|
||||
|
||||
final NpcTemplate.AbsorbCrystalType absorbType = getTemplate().absorbType;
|
||||
final NpcTemplate.AbsorbCrystalType absorbType = getTemplate().getAbsorbType();
|
||||
|
||||
final PlayerInstance killer = attacker instanceof Summon ? ((Summon) attacker).getOwner() : (PlayerInstance) attacker;
|
||||
|
||||
@ -3194,7 +3194,7 @@ public class Attackable extends NpcInstance
|
||||
|
||||
private int getAbsorbLevel()
|
||||
{
|
||||
return getTemplate().absorbLevel;
|
||||
return getTemplate().getAbsorbLevel();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -923,7 +923,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
||||
|
||||
if ((target instanceof NpcInstance) && Config.DISABLE_ATTACK_NPC_TYPE)
|
||||
{
|
||||
final String mobtype = ((NpcInstance) target).getTemplate().type;
|
||||
final String mobtype = ((NpcInstance) target).getTemplate().getType();
|
||||
if (!Config.LIST_ALLOWED_NPC_TYPES.contains(mobtype))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
|
||||
@ -1665,7 +1665,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
||||
|
||||
if ((creature instanceof PlayerInstance) && (target instanceof NpcInstance) && Config.DISABLE_ATTACK_NPC_TYPE)
|
||||
{
|
||||
final String mobtype = ((NpcInstance) target).getTemplate().type;
|
||||
final String mobtype = ((NpcInstance) target).getTemplate().getType();
|
||||
if (!Config.LIST_ALLOWED_NPC_TYPES.contains(mobtype))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
|
||||
@ -2838,7 +2838,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
||||
*/
|
||||
public boolean isUndead()
|
||||
{
|
||||
return _template.isUndead;
|
||||
return _template.isUndead();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -6480,7 +6480,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
||||
|
||||
if (this instanceof Summon)
|
||||
{
|
||||
final int mobId = ((Summon) this).getTemplate().npcId;
|
||||
final int mobId = ((Summon) this).getTemplate().getNpcId();
|
||||
sm.addNpcName(mobId);
|
||||
}
|
||||
else
|
||||
@ -6528,14 +6528,14 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
||||
{
|
||||
MonsterInstance bossInstance = null;
|
||||
|
||||
if (bossTemplate.type.equals("RaidBoss"))
|
||||
if (bossTemplate.getType().equals("RaidBoss"))
|
||||
{
|
||||
if (RaidBossSpawnManager.getInstance().getStatsSet(bossId) != null)
|
||||
{
|
||||
bossInstance = RaidBossSpawnManager.getInstance().getBoss(bossId);
|
||||
}
|
||||
}
|
||||
else if (bossTemplate.type.equals("GrandBoss"))
|
||||
else if (bossTemplate.getType().equals("GrandBoss"))
|
||||
{
|
||||
if (GrandBossManager.getInstance().getStatsSet(bossId) != null)
|
||||
{
|
||||
@ -6897,7 +6897,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
||||
|
||||
if ((target instanceof NpcInstance) && Config.DISABLE_ATTACK_NPC_TYPE)
|
||||
{
|
||||
final String mobtype = ((NpcInstance) target).getTemplate().type;
|
||||
final String mobtype = ((NpcInstance) target).getTemplate().getType();
|
||||
if (Config.LIST_ALLOWED_NPC_TYPES.contains(mobtype))
|
||||
{
|
||||
return false;
|
||||
@ -8360,14 +8360,14 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
||||
{
|
||||
MonsterInstance bossInstance = null;
|
||||
|
||||
if (bossTemplate.type.equals("RaidBoss"))
|
||||
if (bossTemplate.getType().equals("RaidBoss"))
|
||||
{
|
||||
if (RaidBossSpawnManager.getInstance().getStatsSet(bossId) != null)
|
||||
{
|
||||
bossInstance = RaidBossSpawnManager.getInstance().getBoss(bossId);
|
||||
}
|
||||
}
|
||||
else if (bossTemplate.type.equals("GrandBoss"))
|
||||
else if (bossTemplate.getType().equals("GrandBoss"))
|
||||
{
|
||||
if (GrandBossManager.getInstance().getStatsSet(bossId) != null)
|
||||
{
|
||||
|
@ -277,7 +277,7 @@ public abstract class Summon extends Playable
|
||||
|
||||
public int getNpcId()
|
||||
{
|
||||
return getTemplate().npcId;
|
||||
return getTemplate().getNpcId();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -536,7 +536,7 @@ public class CastleChamberlainInstance extends FolkInstance
|
||||
}
|
||||
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
html.setFile("data/html/chamberlain/" + getTemplate().npcId + "-d.htm");
|
||||
html.setFile("data/html/chamberlain/" + getTemplate().getNpcId() + "-d.htm");
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
html.replace("%npcname%", getName());
|
||||
player.sendPacket(html);
|
||||
|
@ -72,7 +72,7 @@ public class ChestInstance extends MonsterInstance
|
||||
@Override
|
||||
public void doItemDrop(NpcTemplate npcTemplate, Creature lastAttacker)
|
||||
{
|
||||
int id = getTemplate().npcId;
|
||||
int id = getTemplate().getNpcId();
|
||||
|
||||
if (!_specialDrop)
|
||||
{
|
||||
@ -115,7 +115,7 @@ public class ChestInstance extends MonsterInstance
|
||||
int trapSkillId = 0;
|
||||
final int rnd = Rnd.get(120);
|
||||
|
||||
if (getTemplate().level >= 61)
|
||||
if (getTemplate().getLevel() >= 61)
|
||||
{
|
||||
if (rnd >= 90)
|
||||
{
|
||||
@ -134,7 +134,7 @@ public class ChestInstance extends MonsterInstance
|
||||
trapSkillId = 223; // sting
|
||||
}
|
||||
}
|
||||
else if (getTemplate().level >= 41)
|
||||
else if (getTemplate().getLevel() >= 41)
|
||||
{
|
||||
if (rnd >= 90)
|
||||
{
|
||||
@ -153,7 +153,7 @@ public class ChestInstance extends MonsterInstance
|
||||
trapSkillId = 4118; // area paralysys
|
||||
}
|
||||
}
|
||||
else if (getTemplate().level >= 21)
|
||||
else if (getTemplate().getLevel() >= 21)
|
||||
{
|
||||
if (rnd >= 80)
|
||||
{
|
||||
@ -192,7 +192,7 @@ public class ChestInstance extends MonsterInstance
|
||||
private boolean handleCast(Creature creature, int skillId)
|
||||
{
|
||||
int skillLevel = 1;
|
||||
final byte lvl = getTemplate().level;
|
||||
final byte lvl = getTemplate().getLevel();
|
||||
if ((lvl > 20) && (lvl <= 40))
|
||||
{
|
||||
skillLevel = 3;
|
||||
|
@ -304,7 +304,7 @@ public class CubicInstance
|
||||
public int getMCriticalHit(Creature target, Skill skill)
|
||||
{
|
||||
// TODO: Temporary now mcrit for cubics is the baseMCritRate of its owner
|
||||
return _owner.getTemplate().baseMCritRate;
|
||||
return _owner.getTemplate().getBaseMCritRate();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -257,20 +257,20 @@ public class DoormanInstance extends FolkInstance
|
||||
public void showMessageWindow(PlayerInstance player)
|
||||
{
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
String filename = "data/html/doorman/" + getTemplate().npcId + "-no.htm";
|
||||
String filename = "data/html/doorman/" + getTemplate().getNpcId() + "-no.htm";
|
||||
|
||||
final int condition = validateCondition(player);
|
||||
if (condition == COND_BUSY_BECAUSE_OF_SIEGE)
|
||||
{
|
||||
filename = "data/html/doorman/" + getTemplate().npcId + "-busy.htm"; // Busy because of siege
|
||||
filename = "data/html/doorman/" + getTemplate().getNpcId() + "-busy.htm"; // Busy because of siege
|
||||
}
|
||||
else if (condition == COND_CASTLE_OWNER)
|
||||
{
|
||||
filename = "data/html/doorman/" + getTemplate().npcId + ".htm"; // Owner message window
|
||||
filename = "data/html/doorman/" + getTemplate().getNpcId() + ".htm"; // Owner message window
|
||||
}
|
||||
else if (condition == COND_FORT_OWNER)
|
||||
{
|
||||
filename = "data/html/doorman/fortress/" + getTemplate().npcId + ".htm"; // Owner message window
|
||||
filename = "data/html/doorman/fortress/" + getTemplate().getNpcId() + ".htm"; // Owner message window
|
||||
}
|
||||
|
||||
// Prepare doorman for clan hall
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.actor.instance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.datatables.SkillTable;
|
||||
import org.l2jmobius.gameserver.datatables.sql.SkillTreeTable;
|
||||
@ -36,7 +38,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
*/
|
||||
public class FolkInstance extends NpcInstance
|
||||
{
|
||||
private final ClassId[] _classesToTeach;
|
||||
private final List<ClassId> _classesToTeach;
|
||||
|
||||
/**
|
||||
* Instantiates a new l2 folk instance.
|
||||
@ -63,7 +65,7 @@ public class FolkInstance extends NpcInstance
|
||||
*/
|
||||
public void showSkillList(PlayerInstance player, ClassId classId)
|
||||
{
|
||||
final int npcId = getTemplate().npcId;
|
||||
final int npcId = getTemplate().getNpcId();
|
||||
|
||||
if (_classesToTeach == null)
|
||||
{
|
||||
@ -145,7 +147,7 @@ public class FolkInstance extends NpcInstance
|
||||
*/
|
||||
public void showEnchantSkillList(PlayerInstance player, ClassId classId)
|
||||
{
|
||||
final int npcId = getTemplate().npcId;
|
||||
final int npcId = getTemplate().getNpcId();
|
||||
|
||||
if (_classesToTeach == null)
|
||||
{
|
||||
@ -268,7 +270,7 @@ public class FolkInstance extends NpcInstance
|
||||
}
|
||||
|
||||
// make a list of classes
|
||||
if (_classesToTeach.length != 0)
|
||||
if (!_classesToTeach.isEmpty())
|
||||
{
|
||||
int count = 0;
|
||||
ClassId classCheck = player.getClassId();
|
||||
|
@ -69,7 +69,7 @@ public class GourdInstance extends MonsterInstance
|
||||
{
|
||||
damage = 0;
|
||||
}
|
||||
if ((getTemplate().npcId == 12778) || (getTemplate().npcId == 12779))
|
||||
if ((getTemplate().getNpcId() == 12778) || (getTemplate().getNpcId() == 12779))
|
||||
{
|
||||
if ((attacker.getActiveWeaponInstance().getItemId() == 4202) || (attacker.getActiveWeaponInstance().getItemId() == 5133) || (attacker.getActiveWeaponInstance().getItemId() == 5817) || (attacker.getActiveWeaponInstance().getItemId() == 7058))
|
||||
{
|
||||
|
@ -203,7 +203,7 @@ public class MerchantInstance extends FolkInstance
|
||||
*/
|
||||
public void showRentPetWindow(PlayerInstance player)
|
||||
{
|
||||
if (!Config.LIST_PET_RENT_NPC.contains(getTemplate().npcId))
|
||||
if (!Config.LIST_PET_RENT_NPC.contains(getTemplate().getNpcId()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -316,7 +316,7 @@ public class MerchantInstance extends FolkInstance
|
||||
html1.append("<tr><td><br></td></tr>");
|
||||
|
||||
html1.append("<tr><td>Object ID: " + getObjectId() + "</td></tr>");
|
||||
html1.append("<tr><td>Template ID: " + getTemplate().npcId + "</td></tr>");
|
||||
html1.append("<tr><td>Template ID: " + getTemplate().getNpcId() + "</td></tr>");
|
||||
html1.append("<tr><td><br></td></tr>");
|
||||
|
||||
html1.append("<tr><td>HP: " + getCurrentHp() + "</td></tr>");
|
||||
@ -327,15 +327,15 @@ public class MerchantInstance extends FolkInstance
|
||||
html1.append("<tr><td>Class: " + getClass().getName() + "</td></tr>");
|
||||
html1.append("<tr><td><br></td></tr>");
|
||||
|
||||
html1.append("</table><table><tr><td><button value=\"Edit NPC\" action=\"bypass -h admin_edit_npc " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
|
||||
html1.append("</table><table><tr><td><button value=\"Edit NPC\" action=\"bypass -h admin_edit_npc " + getTemplate().getNpcId() + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
|
||||
html1.append("<td><button value=\"Kill\" action=\"bypass -h admin_kill\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
|
||||
html1.append("<tr><td><button value=\"Show DropList\" action=\"bypass -h admin_show_droplist " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
|
||||
html1.append("<tr><td><button value=\"Show DropList\" action=\"bypass -h admin_show_droplist " + getTemplate().getNpcId() + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
|
||||
html1.append("<td><button value=\"Delete\" action=\"bypass -h admin_delete\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
|
||||
html1.append("</table>");
|
||||
|
||||
if (player.isGM())
|
||||
{
|
||||
html1.append("<button value=\"View Shop\" action=\"bypass -h admin_showShop " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></br>");
|
||||
html1.append("<button value=\"View Shop\" action=\"bypass -h admin_showShop " + getTemplate().getNpcId() + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></br>");
|
||||
html1.append("<button value=\"Lease next week\" action=\"bypass -h npc_" + getObjectId() + "_Lease\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
html1.append("<button value=\"Abort current leasing\" action=\"bypass -h npc_" + getObjectId() + "_Lease next\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
html1.append("<button value=\"Manage items\" action=\"bypass -h npc_" + getObjectId() + "_Lease manage\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||
|
@ -110,7 +110,7 @@ public class MonsterInstance extends Attackable
|
||||
@Override
|
||||
public boolean isAggressive()
|
||||
{
|
||||
return (getTemplate().aggroRange > 0) && !isEventMob;
|
||||
return (getTemplate().getAggroRange() > 0) && !isEventMob;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -139,7 +139,7 @@ public class MonsterInstance extends Attackable
|
||||
{
|
||||
}
|
||||
|
||||
switch (getTemplate().npcId)
|
||||
switch (getTemplate().getNpcId())
|
||||
{
|
||||
case 12372: // baium
|
||||
{
|
||||
|
@ -228,14 +228,14 @@ public class NpcInstance extends Creature
|
||||
initCharStatusUpdateValues();
|
||||
|
||||
// initialize the "current" equipment
|
||||
_currentLHandId = getTemplate().lhand;
|
||||
_currentRHandId = getTemplate().rhand;
|
||||
_currentLHandId = getTemplate().getLhand();
|
||||
_currentRHandId = getTemplate().getRhand();
|
||||
// initialize the "current" collisions
|
||||
_currentCollisionHeight = getTemplate().collisionHeight;
|
||||
_currentCollisionRadius = getTemplate().collisionRadius;
|
||||
_currentCollisionHeight = getTemplate().getCollisionHeight();
|
||||
_currentCollisionRadius = getTemplate().getCollisionRadius();
|
||||
|
||||
// Set the name of the Creature
|
||||
setName(template.name);
|
||||
setName(template.getName());
|
||||
}
|
||||
|
||||
public int getScriptValue()
|
||||
@ -303,7 +303,7 @@ public class NpcInstance extends Creature
|
||||
*/
|
||||
public int getNpcId()
|
||||
{
|
||||
return getTemplate().npcId;
|
||||
return getTemplate().getNpcId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -323,7 +323,7 @@ public class NpcInstance extends Creature
|
||||
*/
|
||||
public String getFactionId()
|
||||
{
|
||||
return getTemplate().factionId;
|
||||
return getTemplate().getFactionId();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -334,7 +334,7 @@ public class NpcInstance extends Creature
|
||||
@Override
|
||||
public int getLevel()
|
||||
{
|
||||
return getTemplate().level;
|
||||
return getTemplate().getLevel();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -354,7 +354,7 @@ public class NpcInstance extends Creature
|
||||
*/
|
||||
public int getAggroRange()
|
||||
{
|
||||
return getTemplate().aggroRange;
|
||||
return getTemplate().getAggroRange();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -364,7 +364,7 @@ public class NpcInstance extends Creature
|
||||
*/
|
||||
public int getFactionRange()
|
||||
{
|
||||
return getTemplate().factionRange;
|
||||
return getTemplate().getFactionRange();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -375,7 +375,7 @@ public class NpcInstance extends Creature
|
||||
@Override
|
||||
public boolean isUndead()
|
||||
{
|
||||
return getTemplate().isUndead;
|
||||
return getTemplate().isUndead();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -847,7 +847,7 @@ public class NpcInstance extends Creature
|
||||
final String className = getClass().getSimpleName();
|
||||
html1.append("<br>");
|
||||
|
||||
html1.append("Instance Type: " + className + "<br1>Faction: " + getTemplate().factionId + "<br1>Location ID: " + (_spawn != null ? _spawn.getLocation() : 0) + "<br1>");
|
||||
html1.append("Instance Type: " + className + "<br1>Faction: " + getTemplate().getFactionId() + "<br1>Location ID: " + (_spawn != null ? _spawn.getLocation() : 0) + "<br1>");
|
||||
|
||||
if (this instanceof ControllableMobInstance)
|
||||
{
|
||||
@ -859,9 +859,9 @@ public class NpcInstance extends Creature
|
||||
}
|
||||
|
||||
html1.append("<table border=\"0\" width=\"100%\">");
|
||||
html1.append("<tr><td>Object ID</td><td>" + getObjectId() + "</td><td>NPC ID</td><td>" + getTemplate().npcId + "</td></tr>");
|
||||
html1.append("<tr><td>Object ID</td><td>" + getObjectId() + "</td><td>NPC ID</td><td>" + getTemplate().getNpcId() + "</td></tr>");
|
||||
html1.append("<tr><td>Castle</td><td>" + getCastle().getCastleId() + "</td><td>Coords</td><td>" + getX() + "," + getY() + "," + getZ() + "</td></tr>");
|
||||
html1.append("<tr><td>Level</td><td>" + getTemplate().level + "</td><td>Aggro</td><td>" + (this instanceof Attackable ? ((Attackable) this).getAggroRange() : 0) + "</td></tr>");
|
||||
html1.append("<tr><td>Level</td><td>" + getTemplate().getLevel() + "</td><td>Aggro</td><td>" + (this instanceof Attackable ? ((Attackable) this).getAggroRange() : 0) + "</td></tr>");
|
||||
html1.append("</table><br>");
|
||||
|
||||
html1.append("<font color=\"LEVEL\">Combat</font>");
|
||||
@ -881,11 +881,11 @@ public class NpcInstance extends Creature
|
||||
html1.append("<tr><td>INT</td><td>" + getINT() + "</td><td>WIT</td><td>" + getWIT() + "</td><td>MEN</td><td>" + getMEN() + "</td></tr>");
|
||||
html1.append("</table>");
|
||||
|
||||
html1.append("<br><center><table><tr><td><button value=\"Edit NPC\" action=\"bypass -h admin_edit_npc " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br1></td>");
|
||||
html1.append("<br><center><table><tr><td><button value=\"Edit NPC\" action=\"bypass -h admin_edit_npc " + getTemplate().getNpcId() + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br1></td>");
|
||||
html1.append("<td><button value=\"Kill\" action=\"bypass -h admin_kill\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td><br1></tr>");
|
||||
html1.append("<tr><td><button value=\"Show DropList\" action=\"bypass -h admin_show_droplist " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
|
||||
html1.append("<tr><td><button value=\"Show DropList\" action=\"bypass -h admin_show_droplist " + getTemplate().getNpcId() + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
|
||||
html1.append("<td><button value=\"Delete\" action=\"bypass -h admin_delete\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
|
||||
html1.append("<tr><td><button value=\"Show Skillist\" action=\"bypass -h admin_show_skilllist_npc " + getTemplate().npcId + "\" width=100 height=20 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td><td></td></tr>");
|
||||
html1.append("<tr><td><button value=\"Show Skillist\" action=\"bypass -h admin_show_skilllist_npc " + getTemplate().getNpcId() + "\" width=100 height=20 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td><td></td></tr>");
|
||||
html1.append("</table></center><br>");
|
||||
html1.append("</body></html>");
|
||||
|
||||
@ -923,7 +923,7 @@ public class NpcInstance extends Creature
|
||||
html1.append("<tr><td>Accuracy</td><td>" + getAccuracy() + "</td><td>Evasion</td><td>" + getEvasionRate(null) + "</td></tr>");
|
||||
html1.append("<tr><td>Critical</td><td>" + getCriticalHit(null, null) + "</td><td>Speed</td><td>" + getRunSpeed() + "</td></tr>");
|
||||
html1.append("<tr><td>Atk.Speed</td><td>" + getPAtkSpd() + "</td><td>Cast.Speed</td><td>" + getMAtkSpd() + "</td></tr>");
|
||||
html1.append("<tr><td>Race</td><td>" + getTemplate().race + "</td><td></td><td></td></tr>");
|
||||
html1.append("<tr><td>Race</td><td>" + getTemplate().getRace() + "</td><td></td><td></td></tr>");
|
||||
html1.append("</table>");
|
||||
|
||||
html1.append("<br><center><font color=\"LEVEL\">[Basic Stats]</font></center>");
|
||||
@ -1583,7 +1583,7 @@ public class NpcInstance extends Creature
|
||||
public Weapon getActiveWeaponItem()
|
||||
{
|
||||
// Get the weapon identifier equiped in the right hand of the NpcInstance
|
||||
final int weaponId = getTemplate().rhand;
|
||||
final int weaponId = getTemplate().getRhand();
|
||||
|
||||
if (weaponId < 1)
|
||||
{
|
||||
@ -1591,7 +1591,7 @@ public class NpcInstance extends Creature
|
||||
}
|
||||
|
||||
// Get the weapon item equiped in the right hand of the NpcInstance
|
||||
final Item item = ItemTable.getInstance().getTemplate(getTemplate().rhand);
|
||||
final Item item = ItemTable.getInstance().getTemplate(getTemplate().getRhand());
|
||||
|
||||
if (!(item instanceof Weapon))
|
||||
{
|
||||
@ -1653,7 +1653,7 @@ public class NpcInstance extends Creature
|
||||
public Weapon getSecondaryWeaponItem()
|
||||
{
|
||||
// Get the weapon identifier equiped in the right hand of the NpcInstance
|
||||
final int weaponId = getTemplate().lhand;
|
||||
final int weaponId = getTemplate().getLhand();
|
||||
|
||||
if (weaponId < 1)
|
||||
{
|
||||
@ -1661,7 +1661,7 @@ public class NpcInstance extends Creature
|
||||
}
|
||||
|
||||
// Get the weapon item equiped in the right hand of the NpcInstance
|
||||
final Item item = ItemTable.getInstance().getTemplate(getTemplate().lhand);
|
||||
final Item item = ItemTable.getInstance().getTemplate(getTemplate().getLhand());
|
||||
|
||||
if (!(item instanceof Weapon))
|
||||
{
|
||||
@ -1878,7 +1878,7 @@ public class NpcInstance extends Creature
|
||||
// collect awaiting quests and start points
|
||||
final List<Quest> options = new ArrayList<>();
|
||||
|
||||
final List<QuestState> awaits = player.getQuestsForTalk(getTemplate().npcId);
|
||||
final List<QuestState> awaits = player.getQuestsForTalk(getTemplate().getNpcId());
|
||||
final List<Quest> starts = getTemplate().getEventQuests(EventType.QUEST_START);
|
||||
|
||||
// Quests are limited between 1 and 999 because those are the quests that are supported by the client.
|
||||
@ -1949,7 +1949,7 @@ public class NpcInstance extends Creature
|
||||
// >24 - check lottery ticket by item object id
|
||||
public void showLotoWindow(PlayerInstance player, int val)
|
||||
{
|
||||
final int npcId = getTemplate().npcId;
|
||||
final int npcId = getTemplate().getNpcId();
|
||||
String filename;
|
||||
SystemMessage sm;
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
@ -2207,7 +2207,7 @@ public class NpcInstance extends Creature
|
||||
*/
|
||||
public void makeCPRecovery(PlayerInstance player)
|
||||
{
|
||||
if ((getTemplate().npcId != 31225) && (getTemplate().npcId != 31226))
|
||||
if ((getTemplate().getNpcId() != 31225) && (getTemplate().getNpcId() != 31226))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -2400,12 +2400,12 @@ public class NpcInstance extends Creature
|
||||
}
|
||||
}
|
||||
|
||||
if ((getTemplate().type == "Auctioneer") && (val == 0))
|
||||
if ((getTemplate().getType() == "Auctioneer") && (val == 0))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final int npcId = getTemplate().npcId;
|
||||
final int npcId = getTemplate().getNpcId();
|
||||
|
||||
/* For use with Seven Signs implementation */
|
||||
String filename = SevenSigns.SEVEN_SIGNS_HTML_PATH;
|
||||
@ -2913,7 +2913,7 @@ public class NpcInstance extends Creature
|
||||
public int getExpReward()
|
||||
{
|
||||
final double rateXp = getStat().calcStat(Stats.MAX_HP, 1, this, null);
|
||||
return (int) (getTemplate().rewardExp * rateXp * Config.RATE_XP);
|
||||
return (int) (getTemplate().getRewardExp() * rateXp * Config.RATE_XP);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2924,7 +2924,7 @@ public class NpcInstance extends Creature
|
||||
public int getSpReward()
|
||||
{
|
||||
final double rateSp = getStat().calcStat(Stats.MAX_HP, 1, this, null);
|
||||
return (int) (getTemplate().rewardSp * rateSp * Config.RATE_SP);
|
||||
return (int) (getTemplate().getRewardSp() * rateSp * Config.RATE_SP);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2956,10 +2956,10 @@ public class NpcInstance extends Creature
|
||||
}
|
||||
|
||||
// Normally this wouldn't really be needed, but for those few exceptions, we do need to reset the weapons back to the initial templated weapon.
|
||||
_currentLHandId = getTemplate().lhand;
|
||||
_currentRHandId = getTemplate().rhand;
|
||||
_currentCollisionHeight = getTemplate().collisionHeight;
|
||||
_currentCollisionRadius = getTemplate().collisionRadius;
|
||||
_currentLHandId = getTemplate().getLhand();
|
||||
_currentRHandId = getTemplate().getRhand();
|
||||
_currentCollisionHeight = getTemplate().getCollisionHeight();
|
||||
_currentCollisionRadius = getTemplate().getCollisionRadius();
|
||||
DecayTaskManager.getInstance().addDecayTask(this);
|
||||
return true;
|
||||
}
|
||||
@ -3073,7 +3073,7 @@ public class NpcInstance extends Creature
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return getTemplate().name;
|
||||
return getTemplate().getName();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -81,7 +81,7 @@ public class PetInstance extends Summon
|
||||
{
|
||||
if (_data == null)
|
||||
{
|
||||
_data = PetDataTable.getInstance().getPetData(getTemplate().npcId, getStat().getLevel());
|
||||
_data = PetDataTable.getInstance().getPetData(getTemplate().getNpcId(), getStat().getLevel());
|
||||
}
|
||||
|
||||
return _data;
|
||||
@ -143,7 +143,7 @@ public class PetInstance extends Summon
|
||||
getOwner().sendMessage("Your pet is too hungry to stay summoned.");
|
||||
}
|
||||
|
||||
final int foodId = PetDataTable.getFoodItemId(getTemplate().npcId);
|
||||
final int foodId = PetDataTable.getFoodItemId(getTemplate().getNpcId());
|
||||
if (foodId == 0)
|
||||
{
|
||||
return;
|
||||
@ -221,18 +221,18 @@ public class PetInstance extends Summon
|
||||
// Hatcling : Level 35
|
||||
// Tested and confirmed on official servers
|
||||
// Sin-eaters are defaulted at the owner's level
|
||||
if (template.npcId == 12564)
|
||||
if (template.getNpcId() == 12564)
|
||||
{
|
||||
getStat().setLevel((byte) getOwner().getLevel());
|
||||
}
|
||||
else
|
||||
{
|
||||
getStat().setLevel(template.level);
|
||||
getStat().setLevel(template.getLevel());
|
||||
}
|
||||
|
||||
_inventory = new PetInventory(this);
|
||||
|
||||
final int npcId = template.npcId;
|
||||
final int npcId = template.getNpcId();
|
||||
_mountable = PetDataTable.isMountable(npcId);
|
||||
}
|
||||
|
||||
@ -845,7 +845,7 @@ public class PetInstance extends Summon
|
||||
|
||||
try (Connection con = DatabaseFactory.getConnection())
|
||||
{
|
||||
if (template.type.compareToIgnoreCase("BabyPet") == 0)
|
||||
if (template.getType().compareToIgnoreCase("BabyPet") == 0)
|
||||
{
|
||||
pet = new BabyPetInstance(IdFactory.getInstance().getNextId(), template, owner, control);
|
||||
}
|
||||
|
@ -2867,7 +2867,7 @@ public class PlayerInstance extends Playable
|
||||
*/
|
||||
public ClassId getClassId()
|
||||
{
|
||||
return getTemplate().classId;
|
||||
return getTemplate().getClassId();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3212,9 +3212,9 @@ public class PlayerInstance extends Playable
|
||||
{
|
||||
if (!isSubClassActive())
|
||||
{
|
||||
return getTemplate().race;
|
||||
return getTemplate().getRace();
|
||||
}
|
||||
return CharTemplateTable.getInstance().getTemplate(_baseClass).race;
|
||||
return CharTemplateTable.getInstance().getTemplate(_baseClass).getRace();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -8667,8 +8667,8 @@ public class PlayerInstance extends Playable
|
||||
statement.setInt(31, getAppearance().isFemale() ? 1 : 0);
|
||||
statement.setDouble(32, 1/* getMovementMultiplier() */);
|
||||
statement.setDouble(33, 1/* getAttackSpeedMultiplier() */);
|
||||
statement.setDouble(34, getTemplate().collisionRadius/* getCollisionRadius() */);
|
||||
statement.setDouble(35, getTemplate().collisionHeight/* getCollisionHeight() */);
|
||||
statement.setDouble(34, getTemplate().getCollisionRadius());
|
||||
statement.setDouble(35, getTemplate().getCollisionHeight());
|
||||
statement.setLong(36, getExp());
|
||||
statement.setInt(37, getSp());
|
||||
statement.setInt(38, getKarma());
|
||||
@ -10945,7 +10945,7 @@ public class PlayerInstance extends Playable
|
||||
// Calculate the distance between the PlayerInstance and the target
|
||||
if (sklTargetType == SkillTargetType.TARGET_GROUND)
|
||||
{
|
||||
if (!isInsideRadius(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), (int) (skill.getCastRange() + getTemplate().getCollisionRadius()), false, false))
|
||||
if (!isInsideRadius(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), skill.getCastRange() + getTemplate().getCollisionRadius(), false, false))
|
||||
{
|
||||
// Send a System Message to the caster
|
||||
sendPacket(SystemMessageId.TARGET_TOO_FAR);
|
||||
@ -10955,7 +10955,7 @@ public class PlayerInstance extends Playable
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if ((skill.getCastRange() > 0) && !isInsideRadius(target, skill.getCastRange() + getTemplate().collisionRadius, false, false)) // Calculate the distance between the PlayerInstance and the target
|
||||
else if ((skill.getCastRange() > 0) && !isInsideRadius(target, skill.getCastRange() + getTemplate().getCollisionRadius(), false, false)) // Calculate the distance between the PlayerInstance and the target
|
||||
{
|
||||
// Send a System Message to the caster
|
||||
sendPacket(SystemMessageId.TARGET_TOO_FAR);
|
||||
@ -10966,7 +10966,7 @@ public class PlayerInstance extends Playable
|
||||
}
|
||||
}
|
||||
// Check range for SIGNET skills
|
||||
else if ((sklType == SkillType.SIGNET) && !isInsideRadius(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), (int) (skill.getCastRange() + getTemplate().getCollisionRadius()), false, false))
|
||||
else if ((sklType == SkillType.SIGNET) && !isInsideRadius(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), skill.getCastRange() + getTemplate().getCollisionRadius(), false, false))
|
||||
{
|
||||
// Send a System Message to the caster
|
||||
sendPacket(SystemMessageId.TARGET_TOO_FAR);
|
||||
|
@ -298,7 +298,7 @@ public class RaceManagerInstance extends NpcInstance
|
||||
{
|
||||
return;
|
||||
}
|
||||
final int npcId = getTemplate().npcId;
|
||||
final int npcId = getTemplate().getNpcId();
|
||||
String filename;
|
||||
String search;
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
@ -308,7 +308,7 @@ public class RaceManagerInstance extends NpcInstance
|
||||
{
|
||||
final int n = i + 1;
|
||||
search = "Mob" + n;
|
||||
html.replace(search, MonsterRace.getInstance().getMonsters()[i].getTemplate().name);
|
||||
html.replace(search, MonsterRace.getInstance().getMonsters()[i].getTemplate().getName());
|
||||
}
|
||||
html.replace("1race", String.valueOf(_raceNumber));
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
@ -318,7 +318,7 @@ public class RaceManagerInstance extends NpcInstance
|
||||
|
||||
public void showMonsterInfo(PlayerInstance player)
|
||||
{
|
||||
final int npcId = getTemplate().npcId;
|
||||
final int npcId = getTemplate().getNpcId();
|
||||
String filename;
|
||||
String search;
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
@ -328,7 +328,7 @@ public class RaceManagerInstance extends NpcInstance
|
||||
{
|
||||
final int n = i + 1;
|
||||
search = "Mob" + n;
|
||||
html.replace(search, MonsterRace.getInstance().getMonsters()[i].getTemplate().name);
|
||||
html.replace(search, MonsterRace.getInstance().getMonsters()[i].getTemplate().getName());
|
||||
}
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
player.sendPacket(html);
|
||||
@ -341,7 +341,7 @@ public class RaceManagerInstance extends NpcInstance
|
||||
{
|
||||
return;
|
||||
}
|
||||
final int npcId = getTemplate().npcId;
|
||||
final int npcId = getTemplate().getNpcId();
|
||||
SystemMessage sm;
|
||||
String filename;
|
||||
String search;
|
||||
@ -355,7 +355,7 @@ public class RaceManagerInstance extends NpcInstance
|
||||
{
|
||||
final int n = i + 1;
|
||||
search = "Mob" + n;
|
||||
html.replace(search, MonsterRace.getInstance().getMonsters()[i].getTemplate().name);
|
||||
html.replace(search, MonsterRace.getInstance().getMonsters()[i].getTemplate().getName());
|
||||
}
|
||||
search = "No1";
|
||||
if (val == 0)
|
||||
@ -378,7 +378,7 @@ public class RaceManagerInstance extends NpcInstance
|
||||
html.setFile(filename);
|
||||
html.replace("0place", "" + player.getRace(0));
|
||||
search = "Mob1";
|
||||
replace = MonsterRace.getInstance().getMonsters()[player.getRace(0) - 1].getTemplate().name;
|
||||
replace = MonsterRace.getInstance().getMonsters()[player.getRace(0) - 1].getTemplate().getName();
|
||||
html.replace(search, replace);
|
||||
search = "0adena";
|
||||
if (val == 10)
|
||||
@ -401,7 +401,7 @@ public class RaceManagerInstance extends NpcInstance
|
||||
html.setFile(filename);
|
||||
html.replace("0place", "" + player.getRace(0));
|
||||
search = "Mob1";
|
||||
replace = MonsterRace.getInstance().getMonsters()[player.getRace(0) - 1].getTemplate().name;
|
||||
replace = MonsterRace.getInstance().getMonsters()[player.getRace(0) - 1].getTemplate().getName();
|
||||
html.replace(search, replace);
|
||||
search = "0adena";
|
||||
final int price = _cost[player.getRace(1) - 1];
|
||||
|
@ -79,7 +79,7 @@ public class SiegeNpcInstance extends FolkInstance
|
||||
if (siege.getIsInProgress())
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
html.setFile("data/html/siege/" + getTemplate().npcId + "-busy.htm");
|
||||
html.setFile("data/html/siege/" + getTemplate().getNpcId() + "-busy.htm");
|
||||
html.replace("%castlename%", getCastle().getName());
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
player.sendPacket(html);
|
||||
|
@ -95,7 +95,7 @@ public class SummonInstance extends Summon
|
||||
@Override
|
||||
public int getLevel()
|
||||
{
|
||||
return getTemplate() != null ? getTemplate().level : 0;
|
||||
return getTemplate() != null ? getTemplate().getLevel() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -181,7 +181,7 @@ public class SummonInstance extends Summon
|
||||
|
||||
if (attacker instanceof NpcInstance)
|
||||
{
|
||||
sm.addNpcName(((NpcInstance) attacker).getTemplate().npcId);
|
||||
sm.addNpcName(((NpcInstance) attacker).getTemplate().getNpcId());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -79,7 +79,7 @@ public class TeleporterInstance extends FolkInstance
|
||||
|
||||
if (actualCommand.equalsIgnoreCase("goto"))
|
||||
{
|
||||
final int npcId = getTemplate().npcId;
|
||||
final int npcId = getTemplate().getNpcId();
|
||||
|
||||
switch (npcId)
|
||||
{
|
||||
|
@ -153,7 +153,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (float) ((1.1 * getPAtkSpd()) / _creature.getTemplate().basePAtkSpd);
|
||||
return (float) ((1.1 * getPAtkSpd()) / _creature.getTemplate().getBasePAtkSpd());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -167,7 +167,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.STAT_CON, _creature.getTemplate().baseCON, null, null);
|
||||
return (int) calcStat(Stats.STAT_CON, _creature.getTemplate().getBaseCON(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -194,7 +194,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
int criticalHit = (int) ((calcStat(Stats.CRITICAL_RATE, _creature.getTemplate().baseCritRate, target, skill) * 10.0) + 0.5);
|
||||
int criticalHit = (int) ((calcStat(Stats.CRITICAL_RATE, _creature.getTemplate().getBaseCritRate(), target, skill) * 10.0) + 0.5);
|
||||
|
||||
criticalHit /= 10;
|
||||
|
||||
@ -218,7 +218,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.STAT_DEX, _creature.getTemplate().baseDEX, null, null);
|
||||
return (int) calcStat(Stats.STAT_DEX, _creature.getTemplate().getBaseDEX(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -265,7 +265,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.STAT_INT, _creature.getTemplate().baseINT, null, null);
|
||||
return (int) calcStat(Stats.STAT_INT, _creature.getTemplate().getBaseINT(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -303,7 +303,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return _creature.getTemplate().baseAtkRange;
|
||||
return _creature.getTemplate().getBaseAtkRange();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -317,7 +317,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.MAX_CP, _creature.getTemplate().baseCpMax, null, null);
|
||||
return (int) calcStat(Stats.MAX_CP, _creature.getTemplate().getBaseCpMax(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -331,7 +331,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.MAX_HP, _creature.getTemplate().baseHpMax, null, null);
|
||||
return (int) calcStat(Stats.MAX_HP, _creature.getTemplate().getBaseHpMax(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -345,7 +345,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.MAX_MP, _creature.getTemplate().baseMpMax, null, null);
|
||||
return (int) calcStat(Stats.MAX_MP, _creature.getTemplate().getBaseMpMax(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -373,7 +373,7 @@ public class CreatureStat
|
||||
bonusAtk = Config.L2JMOD_CHAMPION_ATK;
|
||||
}
|
||||
|
||||
double attack = _creature.getTemplate().baseMAtk * bonusAtk;
|
||||
double attack = _creature.getTemplate().getBaseMAtk() * bonusAtk;
|
||||
|
||||
// Get the skill type to calculate its effect in function of base stats of the Creature target.
|
||||
final Stats stat = skill == null ? null : skill.getStat();
|
||||
@ -384,72 +384,72 @@ public class CreatureStat
|
||||
{
|
||||
case AGGRESSION:
|
||||
{
|
||||
attack += _creature.getTemplate().baseAggression;
|
||||
attack += _creature.getTemplate().getBaseAggression();
|
||||
break;
|
||||
}
|
||||
case BLEED:
|
||||
{
|
||||
attack += _creature.getTemplate().baseBleed;
|
||||
attack += _creature.getTemplate().getBaseBleed();
|
||||
break;
|
||||
}
|
||||
case POISON:
|
||||
{
|
||||
attack += _creature.getTemplate().basePoison;
|
||||
attack += _creature.getTemplate().getBasePoison();
|
||||
break;
|
||||
}
|
||||
case STUN:
|
||||
{
|
||||
attack += _creature.getTemplate().baseStun;
|
||||
attack += _creature.getTemplate().getBaseStun();
|
||||
break;
|
||||
}
|
||||
case ROOT:
|
||||
{
|
||||
attack += _creature.getTemplate().baseRoot;
|
||||
attack += _creature.getTemplate().getBaseRoot();
|
||||
break;
|
||||
}
|
||||
case MOVEMENT:
|
||||
{
|
||||
attack += _creature.getTemplate().baseMovement;
|
||||
attack += _creature.getTemplate().getBaseMovement();
|
||||
break;
|
||||
}
|
||||
case CONFUSION:
|
||||
{
|
||||
attack += _creature.getTemplate().baseConfusion;
|
||||
attack += _creature.getTemplate().getBaseConfusion();
|
||||
break;
|
||||
}
|
||||
case SLEEP:
|
||||
{
|
||||
attack += _creature.getTemplate().baseSleep;
|
||||
attack += _creature.getTemplate().getBaseSleep();
|
||||
break;
|
||||
}
|
||||
case FIRE:
|
||||
{
|
||||
attack += _creature.getTemplate().baseFire;
|
||||
attack += _creature.getTemplate().getBaseFire();
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
attack += _creature.getTemplate().baseWind;
|
||||
attack += _creature.getTemplate().getBaseWind();
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
attack += _creature.getTemplate().baseWater;
|
||||
attack += _creature.getTemplate().getBaseWater();
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
attack += _creature.getTemplate().baseEarth;
|
||||
attack += _creature.getTemplate().getBaseEarth();
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
attack += _creature.getTemplate().baseHoly;
|
||||
attack += _creature.getTemplate().getBaseHoly();
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
attack += _creature.getTemplate().baseDark;
|
||||
attack += _creature.getTemplate().getBaseDark();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -483,7 +483,7 @@ public class CreatureStat
|
||||
bonusSpdAtk = Config.L2JMOD_CHAMPION_SPD_ATK;
|
||||
}
|
||||
|
||||
double val = calcStat(Stats.MAGIC_ATTACK_SPEED, _creature.getTemplate().baseMAtkSpd * bonusSpdAtk, null, null);
|
||||
double val = calcStat(Stats.MAGIC_ATTACK_SPEED, _creature.getTemplate().getBaseMAtkSpd() * bonusSpdAtk, null, null);
|
||||
|
||||
val /= _creature.getArmourExpertisePenalty();
|
||||
|
||||
@ -508,7 +508,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
double mrate = calcStat(Stats.MCRITICAL_RATE, (_creature.getTemplate().baseMCritRate) * Config.MCRIT_RATE_MUL, target, skill);
|
||||
double mrate = calcStat(Stats.MCRITICAL_RATE, (_creature.getTemplate().getBaseMCritRate()) * Config.MCRIT_RATE_MUL, target, skill);
|
||||
|
||||
if (mrate > Config.MAX_MCRIT_RATE)
|
||||
{
|
||||
@ -536,7 +536,7 @@ public class CreatureStat
|
||||
}
|
||||
|
||||
// Get the base MDef of the Creature
|
||||
double defence = _creature.getTemplate().baseMDef;
|
||||
double defence = _creature.getTemplate().getBaseMDef();
|
||||
|
||||
// Calculate modifier for Raid Bosses
|
||||
if (_creature.isRaid())
|
||||
@ -559,7 +559,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.STAT_MEN, _creature.getTemplate().baseMEN, null, null);
|
||||
return (int) calcStat(Stats.STAT_MEN, _creature.getTemplate().getBaseMEN(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -573,7 +573,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return Math.max(1, getRunSpeed() / _creature.getTemplate().baseRunSpd);
|
||||
return Math.max(1, getRunSpeed() / _creature.getTemplate().getBaseRunSpd());
|
||||
}
|
||||
|
||||
public void setGmSpeedMultiplier(float multipier)
|
||||
@ -612,7 +612,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return calcStat(Stats.MAGIC_REUSE_RATE, _creature.getTemplate().baseMReuseRate, null, skill);
|
||||
return calcStat(Stats.MAGIC_REUSE_RATE, _creature.getTemplate().getBaseMReuseRate(), null, skill);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -627,7 +627,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return calcStat(Stats.P_REUSE, _creature.getTemplate().baseMReuseRate, null, skill);
|
||||
return calcStat(Stats.P_REUSE, _creature.getTemplate().getBaseMReuseRate(), null, skill);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -649,7 +649,7 @@ public class CreatureStat
|
||||
bonusAtk = Config.L2JMOD_CHAMPION_ATK;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.POWER_ATTACK, _creature.getTemplate().basePAtk * bonusAtk, target, null);
|
||||
return (int) calcStat(Stats.POWER_ATTACK, _creature.getTemplate().getBasePAtk() * bonusAtk, target, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -730,7 +730,7 @@ public class CreatureStat
|
||||
bonusAtk = Config.L2JMOD_CHAMPION_SPD_ATK;
|
||||
}
|
||||
|
||||
double val = calcStat(Stats.POWER_ATTACK_SPEED, _creature.getTemplate().basePAtkSpd * bonusAtk, null, null);
|
||||
double val = calcStat(Stats.POWER_ATTACK_SPEED, _creature.getTemplate().getBasePAtkSpd() * bonusAtk, null, null);
|
||||
|
||||
val /= _creature.getArmourExpertisePenalty();
|
||||
|
||||
@ -835,7 +835,7 @@ public class CreatureStat
|
||||
}
|
||||
|
||||
// Get the base PDef of the Creature
|
||||
double defence = _creature.getTemplate().basePDef;
|
||||
double defence = _creature.getTemplate().getBasePDef();
|
||||
|
||||
// Calculate modifier for Raid Bosses
|
||||
if (_creature.isRaid())
|
||||
@ -857,7 +857,7 @@ public class CreatureStat
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return (int) calcStat(Stats.POWER_ATTACK_RANGE, _creature.getTemplate().baseAtkRange, null, null);
|
||||
return (int) calcStat(Stats.POWER_ATTACK_RANGE, _creature.getTemplate().getBaseAtkRange(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -882,7 +882,7 @@ public class CreatureStat
|
||||
}
|
||||
|
||||
// err we should be adding TO the persons run speed not making it a constant
|
||||
int val = (int) calcStat(Stats.RUN_SPEED, _creature.getTemplate().baseRunSpd, null, null) + Config.RUN_SPD_BOOST;
|
||||
int val = (int) calcStat(Stats.RUN_SPEED, _creature.getTemplate().getBaseRunSpd(), null, null) + Config.RUN_SPD_BOOST;
|
||||
if (_creature.isInsideZone(ZoneId.WATER))
|
||||
{
|
||||
val /= 2;
|
||||
@ -947,7 +947,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.STAT_STR, _creature.getTemplate().baseSTR, null, null);
|
||||
return (int) calcStat(Stats.STAT_STR, _creature.getTemplate().getBaseSTR(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -965,7 +965,7 @@ public class CreatureStat
|
||||
{
|
||||
return (getRunSpeed() * 70) / 100;
|
||||
}
|
||||
return (int) calcStat(Stats.WALK_SPEED, _creature.getTemplate().baseWalkSpd, null, null);
|
||||
return (int) calcStat(Stats.WALK_SPEED, _creature.getTemplate().getBaseWalkSpd(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -979,7 +979,7 @@ public class CreatureStat
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (int) calcStat(Stats.STAT_WIT, _creature.getTemplate().baseWIT, null, null);
|
||||
return (int) calcStat(Stats.STAT_WIT, _creature.getTemplate().getBaseWIT(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -25,7 +25,7 @@ public class NpcStat extends CreatureStat
|
||||
{
|
||||
super(activeChar);
|
||||
|
||||
setLevel(getActiveChar().getTemplate().level);
|
||||
setLevel(getActiveChar().getTemplate().getLevel());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -37,6 +37,6 @@ public class NpcStat extends CreatureStat
|
||||
@Override
|
||||
public int getMaxHp()
|
||||
{
|
||||
return (int) calcStat(Stats.MAX_HP, getActiveChar().getTemplate().baseHpMax, null, null);
|
||||
return (int) calcStat(Stats.MAX_HP, getActiveChar().getTemplate().getBaseHpMax(), null, null);
|
||||
}
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ public class PetStat extends SummonStat
|
||||
getActiveChar().stopFeed();
|
||||
super.setLevel(value);
|
||||
|
||||
getActiveChar().setPetData(PetDataTable.getInstance().getPetData(getActiveChar().getTemplate().npcId, getLevel()));
|
||||
getActiveChar().setPetData(PetDataTable.getInstance().getPetData(getActiveChar().getTemplate().getNpcId(), getLevel()));
|
||||
getActiveChar().startFeed(false);
|
||||
|
||||
if (getActiveChar().getControlItem() != null)
|
||||
@ -170,72 +170,72 @@ public class PetStat extends SummonStat
|
||||
{
|
||||
case AGGRESSION:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseAggression;
|
||||
attack += getActiveChar().getTemplate().getBaseAggression();
|
||||
break;
|
||||
}
|
||||
case BLEED:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseBleed;
|
||||
attack += getActiveChar().getTemplate().getBaseBleed();
|
||||
break;
|
||||
}
|
||||
case POISON:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().basePoison;
|
||||
attack += getActiveChar().getTemplate().getBasePoison();
|
||||
break;
|
||||
}
|
||||
case STUN:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseStun;
|
||||
attack += getActiveChar().getTemplate().getBaseStun();
|
||||
break;
|
||||
}
|
||||
case ROOT:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseRoot;
|
||||
attack += getActiveChar().getTemplate().getBaseRoot();
|
||||
break;
|
||||
}
|
||||
case MOVEMENT:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseMovement;
|
||||
attack += getActiveChar().getTemplate().getBaseMovement();
|
||||
break;
|
||||
}
|
||||
case CONFUSION:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseConfusion;
|
||||
attack += getActiveChar().getTemplate().getBaseConfusion();
|
||||
break;
|
||||
}
|
||||
case SLEEP:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseSleep;
|
||||
attack += getActiveChar().getTemplate().getBaseSleep();
|
||||
break;
|
||||
}
|
||||
case FIRE:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseFire;
|
||||
attack += getActiveChar().getTemplate().getBaseFire();
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseWind;
|
||||
attack += getActiveChar().getTemplate().getBaseWind();
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseWater;
|
||||
attack += getActiveChar().getTemplate().getBaseWater();
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseEarth;
|
||||
attack += getActiveChar().getTemplate().getBaseEarth();
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseHoly;
|
||||
attack += getActiveChar().getTemplate().getBaseHoly();
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
attack += getActiveChar().getTemplate().baseDark;
|
||||
attack += getActiveChar().getTemplate().getBaseDark();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ public class PetStatus extends SummonStatus
|
||||
|
||||
if (attacker instanceof NpcInstance)
|
||||
{
|
||||
sm.addNpcName(((NpcInstance) attacker).getTemplate().idTemplate);
|
||||
sm.addNpcName(((NpcInstance) attacker).getTemplate().getIdTemplate());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -155,11 +155,11 @@ public class PlayerStatus extends PlayableStatus
|
||||
|
||||
if (attacker instanceof NpcInstance)
|
||||
{
|
||||
smsg.addNpcName(((NpcInstance) attacker).getTemplate().idTemplate);
|
||||
smsg.addNpcName(((NpcInstance) attacker).getTemplate().getIdTemplate());
|
||||
}
|
||||
else if (attacker instanceof Summon)
|
||||
{
|
||||
smsg.addNpcName(((Summon) attacker).getTemplate().idTemplate);
|
||||
smsg.addNpcName(((Summon) attacker).getTemplate().getIdTemplate());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -18,153 +18,450 @@ package org.l2jmobius.gameserver.model.actor.templates;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatsSet;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.2.4.6 $ $Date: 2005/04/02 15:57:51 $
|
||||
*/
|
||||
public class CreatureTemplate
|
||||
{
|
||||
// BaseStats
|
||||
public int baseSTR;
|
||||
public int baseCON;
|
||||
public int baseDEX;
|
||||
public int baseINT;
|
||||
public int baseWIT;
|
||||
public int baseMEN;
|
||||
public float baseHpMax;
|
||||
public float baseCpMax;
|
||||
public float baseMpMax;
|
||||
private final int _baseSTR;
|
||||
private final int _baseCON;
|
||||
private final int _baseDEX;
|
||||
private final int _baseINT;
|
||||
private final int _baseWIT;
|
||||
private final int _baseMEN;
|
||||
private final float _baseHpMax;
|
||||
private final float _baseCpMax;
|
||||
private final float _baseMpMax;
|
||||
|
||||
/** HP Regen base */
|
||||
public float baseHpReg;
|
||||
private final float _baseHpReg;
|
||||
|
||||
/** MP Regen base */
|
||||
public float baseMpReg;
|
||||
private final float _baseMpReg;
|
||||
|
||||
public int basePAtk;
|
||||
public int baseMAtk;
|
||||
public int basePDef;
|
||||
public int baseMDef;
|
||||
public int basePAtkSpd;
|
||||
public int baseMAtkSpd;
|
||||
public float baseMReuseRate;
|
||||
public int baseShldDef;
|
||||
public int baseAtkRange;
|
||||
public int baseShldRate;
|
||||
public int baseCritRate;
|
||||
public int baseMCritRate;
|
||||
public int baseWalkSpd;
|
||||
public int baseRunSpd;
|
||||
private final int _basePAtk;
|
||||
private final int _baseMAtk;
|
||||
private final int _basePDef;
|
||||
private final int _baseMDef;
|
||||
private final int _basePAtkSpd;
|
||||
private final int _baseMAtkSpd;
|
||||
private final float _baseMReuseRate;
|
||||
private final int _baseShldDef;
|
||||
private final int _baseAtkRange;
|
||||
private final int _baseShldRate;
|
||||
private final int _baseCritRate;
|
||||
private final int _baseMCritRate;
|
||||
private final int _baseWalkSpd;
|
||||
private final int _baseRunSpd;
|
||||
|
||||
// SpecialStats
|
||||
public int baseBreath;
|
||||
public int baseAggression;
|
||||
public int baseBleed;
|
||||
public int basePoison;
|
||||
public int baseStun;
|
||||
public int baseRoot;
|
||||
public int baseMovement;
|
||||
public int baseConfusion;
|
||||
public int baseSleep;
|
||||
public int baseFire;
|
||||
public int baseWind;
|
||||
public int baseWater;
|
||||
public int baseEarth;
|
||||
public int baseHoly;
|
||||
public int baseDark;
|
||||
public double baseAggressionVuln;
|
||||
public double baseBleedVuln;
|
||||
public double basePoisonVuln;
|
||||
public double baseStunVuln;
|
||||
public double baseRootVuln;
|
||||
public double baseMovementVuln;
|
||||
public double baseConfusionVuln;
|
||||
public double baseSleepVuln;
|
||||
public double baseFireVuln;
|
||||
public double baseWindVuln;
|
||||
public double baseWaterVuln;
|
||||
public double baseEarthVuln;
|
||||
public double baseHolyVuln;
|
||||
public double baseDarkVuln;
|
||||
public double baseCritVuln;
|
||||
private final int _baseBreath;
|
||||
private final int _baseAggression;
|
||||
private final int _baseBleed;
|
||||
private final int _basePoison;
|
||||
private final int _baseStun;
|
||||
private final int _baseRoot;
|
||||
private final int _baseMovement;
|
||||
private final int _baseConfusion;
|
||||
private final int _baseSleep;
|
||||
private final int _baseFire;
|
||||
private final int _baseWind;
|
||||
private final int _baseWater;
|
||||
private final int _baseEarth;
|
||||
private final int _baseHoly;
|
||||
private final int _baseDark;
|
||||
private final double _baseAggressionVuln;
|
||||
private final double _baseBleedVuln;
|
||||
private final double _basePoisonVuln;
|
||||
private final double _baseStunVuln;
|
||||
private final double _baseRootVuln;
|
||||
private final double _baseMovementVuln;
|
||||
private final double _baseConfusionVuln;
|
||||
private final double _baseSleepVuln;
|
||||
private final double _baseFireVuln;
|
||||
private final double _baseWindVuln;
|
||||
private final double _baseWaterVuln;
|
||||
private final double _baseEarthVuln;
|
||||
private final double _baseHolyVuln;
|
||||
private final double _baseDarkVuln;
|
||||
private final double _baseCritVuln;
|
||||
|
||||
public boolean isUndead;
|
||||
private final boolean _isUndead;
|
||||
|
||||
// C4 Stats
|
||||
public int baseMpConsumeRate;
|
||||
public int baseHpConsumeRate;
|
||||
private final int _baseMpConsumeRate;
|
||||
private final int _baseHpConsumeRate;
|
||||
|
||||
public int collisionRadius;
|
||||
public int collisionHeight;
|
||||
private final int _collisionRadius;
|
||||
private final int _collisionHeight;
|
||||
|
||||
public CreatureTemplate(StatsSet set)
|
||||
{
|
||||
// Base stats
|
||||
baseSTR = set.getInt("baseSTR");
|
||||
baseCON = set.getInt("baseCON");
|
||||
baseDEX = set.getInt("baseDEX");
|
||||
baseINT = set.getInt("baseINT");
|
||||
baseWIT = set.getInt("baseWIT");
|
||||
baseMEN = set.getInt("baseMEN");
|
||||
baseHpMax = set.getFloat("baseHpMax");
|
||||
baseCpMax = set.getFloat("baseCpMax");
|
||||
baseMpMax = set.getFloat("baseMpMax");
|
||||
baseHpReg = set.getFloat("baseHpReg");
|
||||
baseMpReg = set.getFloat("baseMpReg");
|
||||
basePAtk = set.getInt("basePAtk");
|
||||
baseMAtk = set.getInt("baseMAtk");
|
||||
basePDef = set.getInt("basePDef");
|
||||
baseMDef = set.getInt("baseMDef");
|
||||
basePAtkSpd = set.getInt("basePAtkSpd");
|
||||
baseMAtkSpd = set.getInt("baseMAtkSpd");
|
||||
baseMReuseRate = set.getFloat("baseMReuseDelay", 1.f);
|
||||
baseShldDef = set.getInt("baseShldDef");
|
||||
baseAtkRange = set.getInt("baseAtkRange");
|
||||
baseShldRate = set.getInt("baseShldRate");
|
||||
baseCritRate = set.getInt("baseCritRate");
|
||||
baseMCritRate = set.getInt("baseMCritRate", 5);
|
||||
baseWalkSpd = set.getInt("baseWalkSpd");
|
||||
baseRunSpd = set.getInt("baseRunSpd");
|
||||
_baseSTR = set.getInt("baseSTR");
|
||||
_baseCON = set.getInt("baseCON");
|
||||
_baseDEX = set.getInt("baseDEX");
|
||||
_baseINT = set.getInt("baseINT");
|
||||
_baseWIT = set.getInt("baseWIT");
|
||||
_baseMEN = set.getInt("baseMEN");
|
||||
_baseHpMax = set.getFloat("baseHpMax");
|
||||
_baseCpMax = set.getFloat("baseCpMax");
|
||||
_baseMpMax = set.getFloat("baseMpMax");
|
||||
_baseHpReg = set.getFloat("baseHpReg");
|
||||
_baseMpReg = set.getFloat("baseMpReg");
|
||||
_basePAtk = set.getInt("basePAtk");
|
||||
_baseMAtk = set.getInt("baseMAtk");
|
||||
_basePDef = set.getInt("basePDef");
|
||||
_baseMDef = set.getInt("baseMDef");
|
||||
_basePAtkSpd = set.getInt("basePAtkSpd");
|
||||
_baseMAtkSpd = set.getInt("baseMAtkSpd");
|
||||
_baseMReuseRate = set.getFloat("baseMReuseDelay", 1.f);
|
||||
_baseShldDef = set.getInt("baseShldDef");
|
||||
_baseAtkRange = set.getInt("baseAtkRange");
|
||||
_baseShldRate = set.getInt("baseShldRate");
|
||||
_baseCritRate = set.getInt("baseCritRate");
|
||||
_baseMCritRate = set.getInt("baseMCritRate", 5);
|
||||
_baseWalkSpd = set.getInt("baseWalkSpd");
|
||||
_baseRunSpd = set.getInt("baseRunSpd");
|
||||
|
||||
// SpecialStats
|
||||
baseBreath = set.getInt("baseBreath", 100);
|
||||
baseAggression = set.getInt("baseAggression", 0);
|
||||
baseBleed = set.getInt("baseBleed", 0);
|
||||
basePoison = set.getInt("basePoison", 0);
|
||||
baseStun = set.getInt("baseStun", 0);
|
||||
baseRoot = set.getInt("baseRoot", 0);
|
||||
baseMovement = set.getInt("baseMovement", 0);
|
||||
baseConfusion = set.getInt("baseConfusion", 0);
|
||||
baseSleep = set.getInt("baseSleep", 0);
|
||||
baseFire = set.getInt("baseFire", 0);
|
||||
baseWind = set.getInt("baseWind", 0);
|
||||
baseWater = set.getInt("baseWater", 0);
|
||||
baseEarth = set.getInt("baseEarth", 0);
|
||||
baseHoly = set.getInt("baseHoly", 0);
|
||||
baseDark = set.getInt("baseDark", 0);
|
||||
baseAggressionVuln = set.getInt("baseAaggressionVuln", 1);
|
||||
baseBleedVuln = set.getInt("baseBleedVuln", 1);
|
||||
basePoisonVuln = set.getInt("basePoisonVuln", 1);
|
||||
baseStunVuln = set.getInt("baseStunVuln", 1);
|
||||
baseRootVuln = set.getInt("baseRootVuln", 1);
|
||||
baseMovementVuln = set.getInt("baseMovementVuln", 1);
|
||||
baseConfusionVuln = set.getInt("baseConfusionVuln", 1);
|
||||
baseSleepVuln = set.getInt("baseSleepVuln", 1);
|
||||
baseFireVuln = set.getInt("baseFireVuln", 1);
|
||||
baseWindVuln = set.getInt("baseWindVuln", 1);
|
||||
baseWaterVuln = set.getInt("baseWaterVuln", 1);
|
||||
baseEarthVuln = set.getInt("baseEarthVuln", 1);
|
||||
baseHolyVuln = set.getInt("baseHolyVuln", 1);
|
||||
baseDarkVuln = set.getInt("baseDarkVuln", 1);
|
||||
baseCritVuln = set.getInt("baseCritVuln", 1);
|
||||
_baseBreath = set.getInt("baseBreath", 100);
|
||||
_baseAggression = set.getInt("baseAggression", 0);
|
||||
_baseBleed = set.getInt("baseBleed", 0);
|
||||
_basePoison = set.getInt("basePoison", 0);
|
||||
_baseStun = set.getInt("baseStun", 0);
|
||||
_baseRoot = set.getInt("baseRoot", 0);
|
||||
_baseMovement = set.getInt("baseMovement", 0);
|
||||
_baseConfusion = set.getInt("baseConfusion", 0);
|
||||
_baseSleep = set.getInt("baseSleep", 0);
|
||||
_baseFire = set.getInt("baseFire", 0);
|
||||
_baseWind = set.getInt("baseWind", 0);
|
||||
_baseWater = set.getInt("baseWater", 0);
|
||||
_baseEarth = set.getInt("baseEarth", 0);
|
||||
_baseHoly = set.getInt("baseHoly", 0);
|
||||
_baseDark = set.getInt("baseDark", 0);
|
||||
_baseAggressionVuln = set.getInt("baseAaggressionVuln", 1);
|
||||
_baseBleedVuln = set.getInt("baseBleedVuln", 1);
|
||||
_basePoisonVuln = set.getInt("basePoisonVuln", 1);
|
||||
_baseStunVuln = set.getInt("baseStunVuln", 1);
|
||||
_baseRootVuln = set.getInt("baseRootVuln", 1);
|
||||
_baseMovementVuln = set.getInt("baseMovementVuln", 1);
|
||||
_baseConfusionVuln = set.getInt("baseConfusionVuln", 1);
|
||||
_baseSleepVuln = set.getInt("baseSleepVuln", 1);
|
||||
_baseFireVuln = set.getInt("baseFireVuln", 1);
|
||||
_baseWindVuln = set.getInt("baseWindVuln", 1);
|
||||
_baseWaterVuln = set.getInt("baseWaterVuln", 1);
|
||||
_baseEarthVuln = set.getInt("baseEarthVuln", 1);
|
||||
_baseHolyVuln = set.getInt("baseHolyVuln", 1);
|
||||
_baseDarkVuln = set.getInt("baseDarkVuln", 1);
|
||||
_baseCritVuln = set.getInt("baseCritVuln", 1);
|
||||
|
||||
isUndead = set.getInt("isUndead", 0) == 1;
|
||||
_isUndead = set.getInt("isUndead", 0) == 1;
|
||||
|
||||
// C4 Stats
|
||||
baseMpConsumeRate = set.getInt("baseMpConsumeRate", 0);
|
||||
baseHpConsumeRate = set.getInt("baseHpConsumeRate", 0);
|
||||
_baseMpConsumeRate = set.getInt("baseMpConsumeRate", 0);
|
||||
_baseHpConsumeRate = set.getInt("baseHpConsumeRate", 0);
|
||||
|
||||
// Geometry
|
||||
collisionRadius = set.getInt("collision_radius");
|
||||
collisionHeight = set.getInt("collision_height");
|
||||
_collisionRadius = set.getInt("collision_radius");
|
||||
_collisionHeight = set.getInt("collision_height");
|
||||
}
|
||||
|
||||
public int getBaseSTR()
|
||||
{
|
||||
return _baseSTR;
|
||||
}
|
||||
|
||||
public int getBaseCON()
|
||||
{
|
||||
return _baseCON;
|
||||
}
|
||||
|
||||
public int getBaseDEX()
|
||||
{
|
||||
return _baseDEX;
|
||||
}
|
||||
|
||||
public int getBaseINT()
|
||||
{
|
||||
return _baseINT;
|
||||
}
|
||||
|
||||
public int getBaseWIT()
|
||||
{
|
||||
return _baseWIT;
|
||||
}
|
||||
|
||||
public int getBaseMEN()
|
||||
{
|
||||
return _baseMEN;
|
||||
}
|
||||
|
||||
public float getBaseHpMax()
|
||||
{
|
||||
return _baseHpMax;
|
||||
}
|
||||
|
||||
public float getBaseCpMax()
|
||||
{
|
||||
return _baseCpMax;
|
||||
}
|
||||
|
||||
public float getBaseMpMax()
|
||||
{
|
||||
return _baseMpMax;
|
||||
}
|
||||
|
||||
public float getBaseHpReg()
|
||||
{
|
||||
return _baseHpReg;
|
||||
}
|
||||
|
||||
public float getBaseMpReg()
|
||||
{
|
||||
return _baseMpReg;
|
||||
}
|
||||
|
||||
public int getBasePAtk()
|
||||
{
|
||||
return _basePAtk;
|
||||
}
|
||||
|
||||
public int getBaseMAtk()
|
||||
{
|
||||
return _baseMAtk;
|
||||
}
|
||||
|
||||
public int getBasePDef()
|
||||
{
|
||||
return _basePDef;
|
||||
}
|
||||
|
||||
public int getBaseMDef()
|
||||
{
|
||||
return _baseMDef;
|
||||
}
|
||||
|
||||
public int getBasePAtkSpd()
|
||||
{
|
||||
return _basePAtkSpd;
|
||||
}
|
||||
|
||||
public int getBaseMAtkSpd()
|
||||
{
|
||||
return _baseMAtkSpd;
|
||||
}
|
||||
|
||||
public float getBaseMReuseRate()
|
||||
{
|
||||
return _baseMReuseRate;
|
||||
}
|
||||
|
||||
public int getBaseShldDef()
|
||||
{
|
||||
return _baseShldDef;
|
||||
}
|
||||
|
||||
public int getBaseAtkRange()
|
||||
{
|
||||
return _baseAtkRange;
|
||||
}
|
||||
|
||||
public int getBaseShldRate()
|
||||
{
|
||||
return _baseShldRate;
|
||||
}
|
||||
|
||||
public int getBaseCritRate()
|
||||
{
|
||||
return _baseCritRate;
|
||||
}
|
||||
|
||||
public int getBaseMCritRate()
|
||||
{
|
||||
return _baseMCritRate;
|
||||
}
|
||||
|
||||
public int getBaseWalkSpd()
|
||||
{
|
||||
return _baseWalkSpd;
|
||||
}
|
||||
|
||||
public int getBaseRunSpd()
|
||||
{
|
||||
return _baseRunSpd;
|
||||
}
|
||||
|
||||
public int getBaseBreath()
|
||||
{
|
||||
return _baseBreath;
|
||||
}
|
||||
|
||||
public int getBaseAggression()
|
||||
{
|
||||
return _baseAggression;
|
||||
}
|
||||
|
||||
public int getBaseBleed()
|
||||
{
|
||||
return _baseBleed;
|
||||
}
|
||||
|
||||
public int getBasePoison()
|
||||
{
|
||||
return _basePoison;
|
||||
}
|
||||
|
||||
public int getBaseStun()
|
||||
{
|
||||
return _baseStun;
|
||||
}
|
||||
|
||||
public int getBaseRoot()
|
||||
{
|
||||
return _baseRoot;
|
||||
}
|
||||
|
||||
public int getBaseMovement()
|
||||
{
|
||||
return _baseMovement;
|
||||
}
|
||||
|
||||
public int getBaseConfusion()
|
||||
{
|
||||
return _baseConfusion;
|
||||
}
|
||||
|
||||
public int getBaseSleep()
|
||||
{
|
||||
return _baseSleep;
|
||||
}
|
||||
|
||||
public int getBaseFire()
|
||||
{
|
||||
return _baseFire;
|
||||
}
|
||||
|
||||
public int getBaseWind()
|
||||
{
|
||||
return _baseWind;
|
||||
}
|
||||
|
||||
public int getBaseWater()
|
||||
{
|
||||
return _baseWater;
|
||||
}
|
||||
|
||||
public int getBaseEarth()
|
||||
{
|
||||
return _baseEarth;
|
||||
}
|
||||
|
||||
public int getBaseHoly()
|
||||
{
|
||||
return _baseHoly;
|
||||
}
|
||||
|
||||
public int getBaseDark()
|
||||
{
|
||||
return _baseDark;
|
||||
}
|
||||
|
||||
public double getBaseAggressionVuln()
|
||||
{
|
||||
return _baseAggressionVuln;
|
||||
}
|
||||
|
||||
public double getBaseBleedVuln()
|
||||
{
|
||||
return _baseBleedVuln;
|
||||
}
|
||||
|
||||
public double getBasePoisonVuln()
|
||||
{
|
||||
return _basePoisonVuln;
|
||||
}
|
||||
|
||||
public double getBaseStunVuln()
|
||||
{
|
||||
return _baseStunVuln;
|
||||
}
|
||||
|
||||
public double getBaseRootVuln()
|
||||
{
|
||||
return _baseRootVuln;
|
||||
}
|
||||
|
||||
public double getBaseMovementVuln()
|
||||
{
|
||||
return _baseMovementVuln;
|
||||
}
|
||||
|
||||
public double getBaseConfusionVuln()
|
||||
{
|
||||
return _baseConfusionVuln;
|
||||
}
|
||||
|
||||
public double getBaseSleepVuln()
|
||||
{
|
||||
return _baseSleepVuln;
|
||||
}
|
||||
|
||||
public double getBaseFireVuln()
|
||||
{
|
||||
return _baseFireVuln;
|
||||
}
|
||||
|
||||
public double getBaseWindVuln()
|
||||
{
|
||||
return _baseWindVuln;
|
||||
}
|
||||
|
||||
public double getBaseWaterVuln()
|
||||
{
|
||||
return _baseWaterVuln;
|
||||
}
|
||||
|
||||
public double getBaseEarthVuln()
|
||||
{
|
||||
return _baseEarthVuln;
|
||||
}
|
||||
|
||||
public double getBaseHolyVuln()
|
||||
{
|
||||
return _baseHolyVuln;
|
||||
}
|
||||
|
||||
public double getBaseDarkVuln()
|
||||
{
|
||||
return _baseDarkVuln;
|
||||
}
|
||||
|
||||
public double getBaseCritVuln()
|
||||
{
|
||||
return _baseCritVuln;
|
||||
}
|
||||
|
||||
public boolean isUndead()
|
||||
{
|
||||
return _isUndead;
|
||||
}
|
||||
|
||||
public int getBaseMpConsumeRate()
|
||||
{
|
||||
return _baseMpConsumeRate;
|
||||
}
|
||||
|
||||
public int getBaseHpConsumeRate()
|
||||
{
|
||||
return _baseHpConsumeRate;
|
||||
}
|
||||
|
||||
public int getCollisionRadius()
|
||||
{
|
||||
return _collisionRadius;
|
||||
}
|
||||
|
||||
public int getCollisionHeight()
|
||||
{
|
||||
return _collisionHeight;
|
||||
}
|
||||
}
|
||||
|
@ -56,26 +56,26 @@ public class NpcTemplate extends CreatureTemplate
|
||||
{
|
||||
protected static final Logger LOGGER = Logger.getLogger(NpcTemplate.class.getName());
|
||||
|
||||
public int npcId;
|
||||
public int idTemplate;
|
||||
public String type;
|
||||
public String name;
|
||||
public boolean serverSideName;
|
||||
public String title;
|
||||
public boolean serverSideTitle;
|
||||
public String sex;
|
||||
public byte level;
|
||||
public int rewardExp;
|
||||
public int rewardSp;
|
||||
public int aggroRange;
|
||||
public int rhand;
|
||||
public int lhand;
|
||||
public int armor;
|
||||
public String factionId;
|
||||
public int factionRange;
|
||||
public int absorbLevel;
|
||||
public AbsorbCrystalType absorbType;
|
||||
public Race race;
|
||||
private final int _npcId;
|
||||
private final int _idTemplate;
|
||||
private final String _type;
|
||||
private final String _name;
|
||||
private final boolean _serverSideName;
|
||||
private final String _title;
|
||||
private final boolean _serverSideTitle;
|
||||
private final String _sex;
|
||||
private final byte _level;
|
||||
private final int _rewardExp;
|
||||
private final int _rewardSp;
|
||||
private final int _aggroRange;
|
||||
private final int _rhand;
|
||||
private final int _lhand;
|
||||
private final int _armor;
|
||||
private final int _absorbLevel;
|
||||
private final AbsorbCrystalType _absorbType;
|
||||
private String _factionId;
|
||||
private final int _factionRange;
|
||||
private Race _race;
|
||||
|
||||
private final boolean _custom;
|
||||
|
||||
@ -129,41 +129,40 @@ public class NpcTemplate extends CreatureTemplate
|
||||
private final Map<EventType, List<Quest>> _questEvents = new EnumMap<>(EventType.class);
|
||||
|
||||
/**
|
||||
* Constructor of Creature.<BR>
|
||||
* <BR>
|
||||
* Constructor of Creature.
|
||||
* @param set The StatsSet object to transfer data to the method
|
||||
* @param custom
|
||||
*/
|
||||
public NpcTemplate(StatsSet set, boolean custom)
|
||||
{
|
||||
super(set);
|
||||
npcId = set.getInt("npcId");
|
||||
idTemplate = set.getInt("idTemplate");
|
||||
type = set.getString("type");
|
||||
name = set.getString("name");
|
||||
serverSideName = set.getBoolean("serverSideName");
|
||||
title = set.getString("title");
|
||||
serverSideTitle = set.getBoolean("serverSideTitle");
|
||||
sex = set.getString("sex");
|
||||
level = set.getByte("level");
|
||||
rewardExp = set.getInt("rewardExp");
|
||||
rewardSp = set.getInt("rewardSp");
|
||||
aggroRange = set.getInt("aggroRange");
|
||||
rhand = set.getInt("rhand");
|
||||
lhand = set.getInt("lhand");
|
||||
armor = set.getInt("armor");
|
||||
_npcId = set.getInt("npcId");
|
||||
_idTemplate = set.getInt("idTemplate");
|
||||
_type = set.getString("type");
|
||||
_name = set.getString("name");
|
||||
_serverSideName = set.getBoolean("serverSideName");
|
||||
_title = set.getString("title");
|
||||
_serverSideTitle = set.getBoolean("serverSideTitle");
|
||||
_sex = set.getString("sex");
|
||||
_level = set.getByte("level");
|
||||
_rewardExp = set.getInt("rewardExp");
|
||||
_rewardSp = set.getInt("rewardSp");
|
||||
_aggroRange = set.getInt("aggroRange");
|
||||
_rhand = set.getInt("rhand");
|
||||
_lhand = set.getInt("lhand");
|
||||
_armor = set.getInt("armor");
|
||||
_absorbLevel = set.getInt("absorb_level", 0);
|
||||
_absorbType = AbsorbCrystalType.valueOf(set.getString("absorb_type"));
|
||||
final String f = set.getString("factionId", null);
|
||||
if (f == null)
|
||||
{
|
||||
factionId = null;
|
||||
setFactionId(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
factionId = f.intern();
|
||||
setFactionId(f.intern());
|
||||
}
|
||||
factionRange = set.getInt("factionRange", 0);
|
||||
absorbLevel = set.getInt("absorb_level", 0);
|
||||
absorbType = AbsorbCrystalType.valueOf(set.getString("absorb_type"));
|
||||
_factionRange = set.getInt("factionRange", 0);
|
||||
_npcStatsSet = set;
|
||||
_custom = custom;
|
||||
}
|
||||
@ -173,9 +172,9 @@ public class NpcTemplate extends CreatureTemplate
|
||||
_teachInfo.add(classId);
|
||||
}
|
||||
|
||||
public ClassId[] getTeachInfo()
|
||||
public List<ClassId> getTeachInfo()
|
||||
{
|
||||
return _teachInfo.toArray(new ClassId[_teachInfo.size()]);
|
||||
return _teachInfo;
|
||||
}
|
||||
|
||||
public boolean canTeach(ClassId classId)
|
||||
@ -200,7 +199,7 @@ public class NpcTemplate extends CreatureTemplate
|
||||
// if the category exists, add the drop to this category.
|
||||
if (cat.getCategoryType() == categoryType)
|
||||
{
|
||||
cat.addDropData(drop, type.equalsIgnoreCase("RaidBoss") || type.equalsIgnoreCase("GrandBoss"));
|
||||
cat.addDropData(drop, _type.equalsIgnoreCase("RaidBoss") || _type.equalsIgnoreCase("GrandBoss"));
|
||||
catExists = true;
|
||||
break;
|
||||
}
|
||||
@ -209,7 +208,7 @@ public class NpcTemplate extends CreatureTemplate
|
||||
if (!catExists)
|
||||
{
|
||||
final DropCategory cat = new DropCategory(categoryType);
|
||||
cat.addDropData(drop, type.equalsIgnoreCase("RaidBoss") || type.equalsIgnoreCase("GrandBoss"));
|
||||
cat.addDropData(drop, _type.equalsIgnoreCase("RaidBoss") || _type.equalsIgnoreCase("GrandBoss"));
|
||||
_categories.add(cat);
|
||||
}
|
||||
}
|
||||
@ -230,6 +229,11 @@ public class NpcTemplate extends CreatureTemplate
|
||||
_vulnerabilities.put(id, vuln);
|
||||
}
|
||||
|
||||
public String getType()
|
||||
{
|
||||
return _type;
|
||||
}
|
||||
|
||||
public double getVulnerability(Stats id)
|
||||
{
|
||||
if (_vulnerabilities.get(id) == null)
|
||||
@ -246,8 +250,7 @@ public class NpcTemplate extends CreatureTemplate
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the list of all possible UNCATEGORIZED drops of this NpcTemplate.<BR>
|
||||
* <BR>
|
||||
* Return the list of all possible UNCATEGORIZED drops of this NpcTemplate.
|
||||
* @return
|
||||
*/
|
||||
public List<DropCategory> getDropData()
|
||||
@ -258,7 +261,6 @@ public class NpcTemplate extends CreatureTemplate
|
||||
/**
|
||||
* Return the list of all possible item drops of this NpcTemplate.<BR>
|
||||
* (ie full drops and part drops, mats, miscellaneous & UNCATEGORIZED)<BR>
|
||||
* <BR>
|
||||
* @return
|
||||
*/
|
||||
public List<DropData> getAllDropData()
|
||||
@ -321,7 +323,7 @@ public class NpcTemplate extends CreatureTemplate
|
||||
}
|
||||
else
|
||||
{
|
||||
LOGGER.warning("Quest event not allowed in multiple quests. Skipped addition of Event Type \"" + eventType + "\" for NPC \"" + name + "\" and quest \"" + q.getName() + "\".");
|
||||
LOGGER.warning("Quest event not allowed in multiple quests. Skipped addition of Event Type \"" + eventType + "\" for NPC \"" + _name + "\" and quest \"" + q.getName() + "\".");
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -362,122 +364,122 @@ public class NpcTemplate extends CreatureTemplate
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
race = Race.UNDEAD;
|
||||
_race = Race.UNDEAD;
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
race = Race.MAGICCREATURE;
|
||||
_race = Race.MAGICCREATURE;
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
race = Race.BEAST;
|
||||
_race = Race.BEAST;
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
race = Race.ANIMAL;
|
||||
_race = Race.ANIMAL;
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
race = Race.PLANT;
|
||||
_race = Race.PLANT;
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
race = Race.HUMANOID;
|
||||
_race = Race.HUMANOID;
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
race = Race.SPIRIT;
|
||||
_race = Race.SPIRIT;
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
race = Race.ANGEL;
|
||||
_race = Race.ANGEL;
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
{
|
||||
race = Race.DEMON;
|
||||
_race = Race.DEMON;
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
race = Race.DRAGON;
|
||||
_race = Race.DRAGON;
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
{
|
||||
race = Race.GIANT;
|
||||
_race = Race.GIANT;
|
||||
break;
|
||||
}
|
||||
case 12:
|
||||
{
|
||||
race = Race.BUG;
|
||||
_race = Race.BUG;
|
||||
break;
|
||||
}
|
||||
case 13:
|
||||
{
|
||||
race = Race.FAIRIE;
|
||||
_race = Race.FAIRIE;
|
||||
break;
|
||||
}
|
||||
case 14:
|
||||
{
|
||||
race = Race.HUMAN;
|
||||
_race = Race.HUMAN;
|
||||
break;
|
||||
}
|
||||
case 15:
|
||||
{
|
||||
race = Race.ELVE;
|
||||
_race = Race.ELVE;
|
||||
break;
|
||||
}
|
||||
case 16:
|
||||
{
|
||||
race = Race.DARKELVE;
|
||||
_race = Race.DARKELVE;
|
||||
break;
|
||||
}
|
||||
case 17:
|
||||
{
|
||||
race = Race.ORC;
|
||||
_race = Race.ORC;
|
||||
break;
|
||||
}
|
||||
case 18:
|
||||
{
|
||||
race = Race.DWARVE;
|
||||
_race = Race.DWARVE;
|
||||
break;
|
||||
}
|
||||
case 19:
|
||||
{
|
||||
race = Race.OTHER;
|
||||
_race = Race.OTHER;
|
||||
break;
|
||||
}
|
||||
case 20:
|
||||
{
|
||||
race = Race.NONLIVING;
|
||||
_race = Race.NONLIVING;
|
||||
break;
|
||||
}
|
||||
case 21:
|
||||
{
|
||||
race = Race.SIEGEWEAPON;
|
||||
_race = Race.SIEGEWEAPON;
|
||||
break;
|
||||
}
|
||||
case 22:
|
||||
{
|
||||
race = Race.DEFENDINGARMY;
|
||||
_race = Race.DEFENDINGARMY;
|
||||
break;
|
||||
}
|
||||
case 23:
|
||||
{
|
||||
race = Race.MERCENARIE;
|
||||
_race = Race.MERCENARIE;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
race = Race.UNKNOWN;
|
||||
_race = Race.UNKNOWN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -485,36 +487,106 @@ public class NpcTemplate extends CreatureTemplate
|
||||
|
||||
public Race getRace()
|
||||
{
|
||||
if (race == null)
|
||||
if (_race == null)
|
||||
{
|
||||
race = Race.UNKNOWN;
|
||||
_race = Race.UNKNOWN;
|
||||
}
|
||||
|
||||
return race;
|
||||
return _race;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the level
|
||||
*/
|
||||
public byte getLevel()
|
||||
{
|
||||
return level;
|
||||
return _level;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the name
|
||||
*/
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
return _name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the npcId
|
||||
*/
|
||||
public int getNpcId()
|
||||
{
|
||||
return npcId;
|
||||
return _npcId;
|
||||
}
|
||||
|
||||
public int getIdTemplate()
|
||||
{
|
||||
return _idTemplate;
|
||||
}
|
||||
|
||||
public boolean isServerSideName()
|
||||
{
|
||||
return _serverSideName;
|
||||
}
|
||||
|
||||
public String getTitle()
|
||||
{
|
||||
return _title;
|
||||
}
|
||||
|
||||
public boolean isServerSideTitle()
|
||||
{
|
||||
return _serverSideTitle;
|
||||
}
|
||||
|
||||
public String getSex()
|
||||
{
|
||||
return _sex;
|
||||
}
|
||||
|
||||
public int getRewardExp()
|
||||
{
|
||||
return _rewardExp;
|
||||
}
|
||||
|
||||
public int getRewardSp()
|
||||
{
|
||||
return _rewardSp;
|
||||
}
|
||||
|
||||
public int getAggroRange()
|
||||
{
|
||||
return _aggroRange;
|
||||
}
|
||||
|
||||
public int getRhand()
|
||||
{
|
||||
return _rhand;
|
||||
}
|
||||
|
||||
public int getLhand()
|
||||
{
|
||||
return _lhand;
|
||||
}
|
||||
|
||||
public int getArmor()
|
||||
{
|
||||
return _armor;
|
||||
}
|
||||
|
||||
public int getAbsorbLevel()
|
||||
{
|
||||
return _absorbLevel;
|
||||
}
|
||||
|
||||
public AbsorbCrystalType getAbsorbType()
|
||||
{
|
||||
return _absorbType;
|
||||
}
|
||||
|
||||
public String getFactionId()
|
||||
{
|
||||
return _factionId;
|
||||
}
|
||||
|
||||
public void setFactionId(String id)
|
||||
{
|
||||
_factionId = id;
|
||||
}
|
||||
|
||||
public int getFactionRange()
|
||||
{
|
||||
return _factionRange;
|
||||
}
|
||||
|
||||
public boolean isCustom()
|
||||
|
@ -31,47 +31,47 @@ import org.l2jmobius.gameserver.model.items.Item;
|
||||
public class PlayerTemplate extends CreatureTemplate
|
||||
{
|
||||
/** The Class object of the PlayerInstance */
|
||||
public Race race;
|
||||
public ClassId classId;
|
||||
private final Race _race;
|
||||
private final ClassId _classId;
|
||||
|
||||
public int _currentCollisionRadius;
|
||||
public int _currentCollisionHeight;
|
||||
public String className;
|
||||
private final int _currentCollisionRadius;
|
||||
private final int _currentCollisionHeight;
|
||||
private final String _className;
|
||||
|
||||
public int spawnX;
|
||||
public int spawnY;
|
||||
public int spawnZ;
|
||||
private final int _spawnX;
|
||||
private final int _spawnY;
|
||||
private final int _spawnZ;
|
||||
|
||||
public int classBaseLevel;
|
||||
public float lvlHpAdd;
|
||||
public float lvlHpMod;
|
||||
public float lvlCpAdd;
|
||||
public float lvlCpMod;
|
||||
public float lvlMpAdd;
|
||||
public float lvlMpMod;
|
||||
private final int _classBaseLevel;
|
||||
private final float _lvlHpAdd;
|
||||
private final float _lvlHpMod;
|
||||
private final float _lvlCpAdd;
|
||||
private final float _lvlCpMod;
|
||||
private final float _lvlMpAdd;
|
||||
private final float _lvlMpMod;
|
||||
|
||||
private final List<Item> _items = new ArrayList<>();
|
||||
|
||||
public PlayerTemplate(StatsSet set)
|
||||
{
|
||||
super(set);
|
||||
classId = ClassId.getClassId(set.getInt("classId"));
|
||||
race = Race.values()[set.getInt("raceId")];
|
||||
className = set.getString("className");
|
||||
_classId = ClassId.getClassId(set.getInt("classId"));
|
||||
_race = Race.values()[set.getInt("raceId")];
|
||||
_className = set.getString("className");
|
||||
_currentCollisionRadius = set.getInt("collision_radius");
|
||||
_currentCollisionHeight = set.getInt("collision_height");
|
||||
|
||||
spawnX = set.getInt("spawnX");
|
||||
spawnY = set.getInt("spawnY");
|
||||
spawnZ = set.getInt("spawnZ");
|
||||
_spawnX = set.getInt("spawnX");
|
||||
_spawnY = set.getInt("spawnY");
|
||||
_spawnZ = set.getInt("spawnZ");
|
||||
|
||||
classBaseLevel = set.getInt("classBaseLevel");
|
||||
lvlHpAdd = set.getFloat("lvlHpAdd");
|
||||
lvlHpMod = set.getFloat("lvlHpMod");
|
||||
lvlCpAdd = set.getFloat("lvlCpAdd");
|
||||
lvlCpMod = set.getFloat("lvlCpMod");
|
||||
lvlMpAdd = set.getFloat("lvlMpAdd");
|
||||
lvlMpMod = set.getFloat("lvlMpMod");
|
||||
_classBaseLevel = set.getInt("classBaseLevel");
|
||||
_lvlHpAdd = set.getFloat("lvlHpAdd");
|
||||
_lvlHpMod = set.getFloat("lvlHpMod");
|
||||
_lvlCpAdd = set.getFloat("lvlCpAdd");
|
||||
_lvlCpMod = set.getFloat("lvlCpMod");
|
||||
_lvlMpAdd = set.getFloat("lvlMpAdd");
|
||||
_lvlMpMod = set.getFloat("lvlMpMod");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -95,39 +95,100 @@ public class PlayerTemplate extends CreatureTemplate
|
||||
return _items.toArray(new Item[_items.size()]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public double getCollisionRadius()
|
||||
public Race getRace()
|
||||
{
|
||||
return _race;
|
||||
}
|
||||
|
||||
public ClassId getClassId()
|
||||
{
|
||||
return _classId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCollisionRadius()
|
||||
{
|
||||
return _currentCollisionRadius;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public double getCollisionHeight()
|
||||
@Override
|
||||
public int getCollisionHeight()
|
||||
{
|
||||
return _currentCollisionHeight;
|
||||
}
|
||||
|
||||
public String getClassName()
|
||||
{
|
||||
return _className;
|
||||
}
|
||||
|
||||
public int getSpawnX()
|
||||
{
|
||||
return _spawnX;
|
||||
}
|
||||
|
||||
public int getSpawnY()
|
||||
{
|
||||
return _spawnY;
|
||||
}
|
||||
|
||||
public int getSpawnZ()
|
||||
{
|
||||
return _spawnZ;
|
||||
}
|
||||
|
||||
public int getClassBaseLevel()
|
||||
{
|
||||
return _classBaseLevel;
|
||||
}
|
||||
|
||||
public float getLvlHpAdd()
|
||||
{
|
||||
return _lvlHpAdd;
|
||||
}
|
||||
|
||||
public float getLvlHpMod()
|
||||
{
|
||||
return _lvlHpMod;
|
||||
}
|
||||
|
||||
public float getLvlCpAdd()
|
||||
{
|
||||
return _lvlCpAdd;
|
||||
}
|
||||
|
||||
public float getLvlCpMod()
|
||||
{
|
||||
return _lvlCpMod;
|
||||
}
|
||||
|
||||
public float getLvlMpAdd()
|
||||
{
|
||||
return _lvlMpAdd;
|
||||
}
|
||||
|
||||
public float getLvlMpMod()
|
||||
{
|
||||
return _lvlMpMod;
|
||||
}
|
||||
|
||||
public int getBaseFallSafeHeight(boolean female)
|
||||
{
|
||||
if ((classId.getRace() == Race.DARK_ELF) || (classId.getRace() == Race.ELF))
|
||||
if ((_classId.getRace() == Race.DARK_ELF) || (_classId.getRace() == Race.ELF))
|
||||
{
|
||||
return classId.isMage() ? (female ? 330 : 300) : female ? 380 : 350;
|
||||
return _classId.isMage() ? (female ? 330 : 300) : female ? 380 : 350;
|
||||
}
|
||||
else if (classId.getRace() == Race.DWARF)
|
||||
else if (_classId.getRace() == Race.DWARF)
|
||||
{
|
||||
return female ? 200 : 180;
|
||||
}
|
||||
else if (classId.getRace() == Race.HUMAN)
|
||||
else if (_classId.getRace() == Race.HUMAN)
|
||||
{
|
||||
return classId.isMage() ? (female ? 220 : 200) : female ? 270 : 250;
|
||||
return _classId.isMage() ? (female ? 220 : 200) : female ? 270 : 250;
|
||||
}
|
||||
else if (classId.getRace() == Race.ORC)
|
||||
else if (_classId.getRace() == Race.ORC)
|
||||
{
|
||||
return classId.isMage() ? (female ? 280 : 250) : female ? 220 : 200;
|
||||
return _classId.isMage() ? (female ? 280 : 250) : female ? 220 : 200;
|
||||
}
|
||||
|
||||
return 400;
|
||||
|
@ -51,7 +51,7 @@ public class MonsterRace
|
||||
{
|
||||
for (int j = i - 1; j >= 0; j--)
|
||||
{
|
||||
if (_monsters[j].getTemplate().npcId == (id + random))
|
||||
if (_monsters[j].getTemplate().getNpcId() == (id + random))
|
||||
{
|
||||
random = Rnd.get(24);
|
||||
}
|
||||
@ -61,7 +61,7 @@ public class MonsterRace
|
||||
try
|
||||
{
|
||||
final NpcTemplate template = NpcTable.getInstance().getTemplate(id + random);
|
||||
final Constructor<?> constructor = Class.forName("org.l2jmobius.gameserver.model.actor.instance." + template.type + "Instance").getConstructors()[0];
|
||||
final Constructor<?> constructor = Class.forName("org.l2jmobius.gameserver.model.actor.instance." + template.getType() + "Instance").getConstructors()[0];
|
||||
final int objectId = IdFactory.getInstance().getNextId();
|
||||
_monsters[i] = (NpcInstance) constructor.newInstance(objectId, template);
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ public class Rebirth
|
||||
}
|
||||
|
||||
// Returns true if BASE CLASS is a mage.
|
||||
final boolean isMage = player.getBaseTemplate().classId.isMage();
|
||||
final boolean isMage = player.getBaseTemplate().getClassId().isMage();
|
||||
// Returns the skill based on next Birth and if isMage.
|
||||
final Skill skill = getRebirthSkill((currBirth + 1), isMage);
|
||||
|
||||
@ -305,7 +305,7 @@ public class Rebirth
|
||||
// returns the current Rebirth Level
|
||||
final int rebirthLevel = getRebirthLevel(player);
|
||||
// Returns true if BASE CLASS is a mage.
|
||||
final boolean isMage = player.getBaseTemplate().classId.isMage();
|
||||
final boolean isMage = player.getBaseTemplate().getClassId().isMage();
|
||||
|
||||
// Simply return since no bonus skills are granted.
|
||||
if (rebirthLevel == 0)
|
||||
|
@ -306,7 +306,7 @@ public class VIP
|
||||
}
|
||||
|
||||
final NpcTemplate npctmp = NpcTable.getInstance().getTemplate(id);
|
||||
return npctmp.name;
|
||||
return npctmp.getName();
|
||||
}
|
||||
|
||||
public static String getItemName(int id, PlayerInstance player)
|
||||
|
@ -713,10 +713,10 @@ public class Formulas
|
||||
public void calc(Env env)
|
||||
{
|
||||
final PlayerTemplate t = (PlayerTemplate) env.player.getTemplate();
|
||||
final int lvl = env.player.getLevel() - t.classBaseLevel;
|
||||
final double hpmod = t.lvlHpMod * lvl;
|
||||
final double hpmax = (t.lvlHpAdd + hpmod) * lvl;
|
||||
final double hpmin = (t.lvlHpAdd * lvl) + hpmod;
|
||||
final int lvl = env.player.getLevel() - t.getClassBaseLevel();
|
||||
final double hpmod = t.getLvlHpMod() * lvl;
|
||||
final double hpmax = (t.getLvlHpAdd() + hpmod) * lvl;
|
||||
final double hpmin = (t.getLvlHpAdd() * lvl) + hpmod;
|
||||
env.value += (hpmax + hpmin) / 2;
|
||||
}
|
||||
}
|
||||
@ -760,10 +760,10 @@ public class Formulas
|
||||
public void calc(Env env)
|
||||
{
|
||||
final PlayerTemplate t = (PlayerTemplate) env.player.getTemplate();
|
||||
final int lvl = env.player.getLevel() - t.classBaseLevel;
|
||||
final double cpmod = t.lvlCpMod * lvl;
|
||||
final double cpmax = (t.lvlCpAdd + cpmod) * lvl;
|
||||
final double cpmin = (t.lvlCpAdd * lvl) + cpmod;
|
||||
final int lvl = env.player.getLevel() - t.getClassBaseLevel();
|
||||
final double cpmod = t.getLvlCpMod() * lvl;
|
||||
final double cpmax = (t.getLvlCpAdd() + cpmod) * lvl;
|
||||
final double cpmin = (t.getLvlCpAdd() * lvl) + cpmod;
|
||||
env.value += (cpmax + cpmin) / 2;
|
||||
}
|
||||
}
|
||||
@ -807,10 +807,10 @@ public class Formulas
|
||||
public void calc(Env env)
|
||||
{
|
||||
final PlayerTemplate t = (PlayerTemplate) env.player.getTemplate();
|
||||
final int lvl = env.player.getLevel() - t.classBaseLevel;
|
||||
final double mpmod = t.lvlMpMod * lvl;
|
||||
final double mpmax = (t.lvlMpAdd + mpmod) * lvl;
|
||||
final double mpmin = (t.lvlMpAdd * lvl) + mpmod;
|
||||
final int lvl = env.player.getLevel() - t.getClassBaseLevel();
|
||||
final double mpmod = t.getLvlMpMod() * lvl;
|
||||
final double mpmax = (t.getLvlMpAdd() + mpmod) * lvl;
|
||||
final double mpmin = (t.getLvlMpAdd() * lvl) + mpmod;
|
||||
env.value += (mpmax + mpmin) / 2;
|
||||
}
|
||||
}
|
||||
@ -999,7 +999,7 @@ public class Formulas
|
||||
*/
|
||||
public static final double calcHpRegen(Creature creature)
|
||||
{
|
||||
double init = creature.getTemplate().baseHpReg;
|
||||
double init = creature.getTemplate().getBaseHpReg();
|
||||
double hpRegenMultiplier = creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER;
|
||||
double hpRegenBonus = 0;
|
||||
|
||||
@ -1082,7 +1082,7 @@ public class Formulas
|
||||
*/
|
||||
public static final double calcMpRegen(Creature creature)
|
||||
{
|
||||
double init = creature.getTemplate().baseMpReg;
|
||||
double init = creature.getTemplate().getBaseMpReg();
|
||||
double mpRegenMultiplier = creature.isRaid() ? Config.RAID_MP_REGEN_MULTIPLIER : Config.MP_REGEN_MULTIPLIER;
|
||||
double mpRegenBonus = 0;
|
||||
|
||||
@ -1152,7 +1152,7 @@ public class Formulas
|
||||
*/
|
||||
public static final double calcCpRegen(Creature creature)
|
||||
{
|
||||
double init = creature.getTemplate().baseHpReg;
|
||||
double init = creature.getTemplate().getBaseHpReg();
|
||||
double cpRegenMultiplier = Config.CP_REGEN_MULTIPLIER;
|
||||
final double cpRegenBonus = 0;
|
||||
|
||||
@ -2185,72 +2185,72 @@ public class Formulas
|
||||
{
|
||||
case AGGRESSION:
|
||||
{
|
||||
multiplier = target.getTemplate().baseAggressionVuln;
|
||||
multiplier = target.getTemplate().getBaseAggressionVuln();
|
||||
break;
|
||||
}
|
||||
case BLEED:
|
||||
{
|
||||
multiplier = target.getTemplate().baseBleedVuln;
|
||||
multiplier = target.getTemplate().getBaseBleedVuln();
|
||||
break;
|
||||
}
|
||||
case POISON:
|
||||
{
|
||||
multiplier = target.getTemplate().basePoisonVuln;
|
||||
multiplier = target.getTemplate().getBasePoisonVuln();
|
||||
break;
|
||||
}
|
||||
case STUN:
|
||||
{
|
||||
multiplier = target.getTemplate().baseStunVuln;
|
||||
multiplier = target.getTemplate().getBaseStunVuln();
|
||||
break;
|
||||
}
|
||||
case ROOT:
|
||||
{
|
||||
multiplier = target.getTemplate().baseRootVuln;
|
||||
multiplier = target.getTemplate().getBaseRootVuln();
|
||||
break;
|
||||
}
|
||||
case MOVEMENT:
|
||||
{
|
||||
multiplier = target.getTemplate().baseMovementVuln;
|
||||
multiplier = target.getTemplate().getBaseMovementVuln();
|
||||
break;
|
||||
}
|
||||
case CONFUSION:
|
||||
{
|
||||
multiplier = target.getTemplate().baseConfusionVuln;
|
||||
multiplier = target.getTemplate().getBaseConfusionVuln();
|
||||
break;
|
||||
}
|
||||
case SLEEP:
|
||||
{
|
||||
multiplier = target.getTemplate().baseSleepVuln;
|
||||
multiplier = target.getTemplate().getBaseSleepVuln();
|
||||
break;
|
||||
}
|
||||
case FIRE:
|
||||
{
|
||||
multiplier = target.getTemplate().baseFireVuln;
|
||||
multiplier = target.getTemplate().getBaseFireVuln();
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
multiplier = target.getTemplate().baseWindVuln;
|
||||
multiplier = target.getTemplate().getBaseWindVuln();
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
multiplier = target.getTemplate().baseWaterVuln;
|
||||
multiplier = target.getTemplate().getBaseWaterVuln();
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
multiplier = target.getTemplate().baseEarthVuln;
|
||||
multiplier = target.getTemplate().getBaseEarthVuln();
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
multiplier = target.getTemplate().baseHolyVuln;
|
||||
multiplier = target.getTemplate().getBaseHolyVuln();
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
multiplier = target.getTemplate().baseDarkVuln;
|
||||
multiplier = target.getTemplate().getBaseDarkVuln();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -42,9 +42,9 @@ public class ConditionTargetRaceId extends Condition
|
||||
}
|
||||
|
||||
final NpcInstance target = (NpcInstance) env.target;
|
||||
if ((target.getTemplate() != null) && (target.getTemplate().race != null))
|
||||
if ((target.getTemplate() != null) && (target.getTemplate().getRace() != null))
|
||||
{
|
||||
return _raceIds.contains(((NpcInstance) env.target).getTemplate().race.ordinal() + 1);
|
||||
return _raceIds.contains(((NpcInstance) env.target).getTemplate().getRace().ordinal() + 1);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -53,8 +53,8 @@ public class EffectGrow extends Effect
|
||||
if (getEffected() instanceof NpcInstance)
|
||||
{
|
||||
final NpcInstance npc = (NpcInstance) getEffected();
|
||||
npc.setCollisionHeight(npc.getTemplate().collisionHeight);
|
||||
npc.setCollisionRadius(npc.getTemplate().collisionRadius);
|
||||
npc.setCollisionHeight(npc.getTemplate().getCollisionHeight());
|
||||
npc.setCollisionRadius(npc.getTemplate().getCollisionRadius());
|
||||
|
||||
getEffected().stopAbnormalEffect(Creature.ABNORMAL_EFFECT_GROW);
|
||||
}
|
||||
@ -67,8 +67,8 @@ public class EffectGrow extends Effect
|
||||
if (getEffected() instanceof NpcInstance)
|
||||
{
|
||||
final NpcInstance npc = (NpcInstance) getEffected();
|
||||
npc.setCollisionHeight(npc.getTemplate().collisionHeight);
|
||||
npc.setCollisionRadius(npc.getTemplate().collisionRadius);
|
||||
npc.setCollisionHeight(npc.getTemplate().getCollisionHeight());
|
||||
npc.setCollisionRadius(npc.getTemplate().getCollisionRadius());
|
||||
|
||||
getEffected().stopAbnormalEffect(Creature.ABNORMAL_EFFECT_GROW);
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ public class SkillSummon extends Skill
|
||||
LOGGER.warning("Summon attempt for nonexisting NPC ID:" + _npcId + ", skill ID:" + getId());
|
||||
return; // npcID doesn't exist
|
||||
}
|
||||
if (summonTemplate.type.equalsIgnoreCase("SiegeSummon"))
|
||||
if (summonTemplate.getType().equalsIgnoreCase("SiegeSummon"))
|
||||
{
|
||||
summon = new SiegeSummonInstance(IdFactory.getInstance().getNextId(), summonTemplate, activeChar, this);
|
||||
}
|
||||
@ -217,7 +217,7 @@ public class SkillSummon extends Skill
|
||||
summon = new SummonInstance(IdFactory.getInstance().getNextId(), summonTemplate, activeChar, this);
|
||||
}
|
||||
|
||||
summon.setName(summonTemplate.name);
|
||||
summon.setName(summonTemplate.getName());
|
||||
summon.setTitle(activeChar.getName());
|
||||
summon.setExpPenalty(_expPenalty);
|
||||
if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel())
|
||||
|
@ -47,7 +47,7 @@ public class GroupSpawn extends Spawn
|
||||
|
||||
try
|
||||
{
|
||||
if (_template.type.equalsIgnoreCase("Pet") || _template.type.equalsIgnoreCase("Minion"))
|
||||
if (_template.getType().equalsIgnoreCase("Pet") || _template.getType().equalsIgnoreCase("Minion"))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@ -95,14 +95,14 @@ public class Spawn
|
||||
}
|
||||
|
||||
// The Name of the NpcInstance type managed by this Spawn
|
||||
String implementationName = _template.type; // implementing class name
|
||||
String implementationName = _template.getType(); // implementing class name
|
||||
|
||||
if (mobTemplate.npcId == 30995)
|
||||
if (mobTemplate.getNpcId() == 30995)
|
||||
{
|
||||
implementationName = "RaceManager";
|
||||
}
|
||||
|
||||
if ((mobTemplate.npcId >= 31046) && (mobTemplate.npcId <= 31053))
|
||||
if ((mobTemplate.getNpcId() >= 31046) && (mobTemplate.getNpcId() <= 31053))
|
||||
{
|
||||
implementationName = "SymbolMaker";
|
||||
}
|
||||
@ -174,7 +174,7 @@ public class Spawn
|
||||
return -1;
|
||||
}
|
||||
|
||||
return _template.npcId;
|
||||
return _template.getNpcId();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -427,7 +427,7 @@ public class Spawn
|
||||
try
|
||||
{
|
||||
// Check if the Spawn is not a Net or Minion spawn
|
||||
if (_template.type.equalsIgnoreCase("Pet") || _template.type.equalsIgnoreCase("Minion"))
|
||||
if (_template.getType().equalsIgnoreCase("Pet") || _template.getType().equalsIgnoreCase("Minion"))
|
||||
{
|
||||
_currentCount++;
|
||||
|
||||
@ -460,7 +460,7 @@ public class Spawn
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LOGGER.warning("NPC " + _template.npcId + " class not found " + e);
|
||||
LOGGER.warning("NPC " + _template.getNpcId() + " class not found " + e);
|
||||
}
|
||||
return npc;
|
||||
}
|
||||
|
@ -116,7 +116,7 @@ public class CharacterCreate extends GameClientPacket
|
||||
}
|
||||
|
||||
template = CharTemplateTable.getInstance().getTemplate(_classId);
|
||||
if ((template == null) || (template.classBaseLevel > 1))
|
||||
if ((template == null) || (template.getClassBaseLevel() > 1))
|
||||
{
|
||||
sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
|
||||
return;
|
||||
@ -222,7 +222,7 @@ public class CharacterCreate extends GameClientPacket
|
||||
}
|
||||
else
|
||||
{
|
||||
newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
|
||||
newChar.setXYZInvisible(template.getSpawnX(), template.getSpawnY(), template.getSpawnZ());
|
||||
}
|
||||
|
||||
if (Config.ALLOW_CREATE_LVL)
|
||||
|
@ -313,7 +313,7 @@ public class RequestActionUse extends GameClientPacket
|
||||
{
|
||||
return;
|
||||
}
|
||||
final Ride mount = new Ride(player.getObjectId(), Ride.ACTION_MOUNT, pet.getTemplate().npcId);
|
||||
final Ride mount = new Ride(player.getObjectId(), Ride.ACTION_MOUNT, pet.getTemplate().getNpcId());
|
||||
player.broadcastPacket(mount);
|
||||
player.setMountType(mount.getMountType());
|
||||
player.setMountObjectID(pet.getControlItemId());
|
||||
|
@ -196,7 +196,7 @@ public class RequestBuyItem extends GameClientPacket
|
||||
|
||||
_listId = list.getListId();
|
||||
|
||||
if ((_listId > 1000000) && (merchant != null) && (merchant.getTemplate().npcId != (_listId - 1000000)))
|
||||
if ((_listId > 1000000) && (merchant != null) && (merchant.getTemplate().getNpcId() != (_listId - 1000000)))
|
||||
{
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
|
@ -57,7 +57,7 @@ public class RequestChangePetName extends GameClientPacket
|
||||
player.sendPacket(new SystemMessage(SystemMessageId.NAMING_YOU_CANNOT_SET_NAME_OF_THE_PET));
|
||||
return;
|
||||
}
|
||||
else if (PetNameTable.getInstance().doesPetNameExist(_name, pet.getTemplate().npcId))
|
||||
else if (PetNameTable.getInstance().doesPetNameExist(_name, pet.getTemplate().getNpcId()))
|
||||
{
|
||||
player.sendPacket(new SystemMessage(SystemMessageId.NAMING_ALREADY_IN_USE_BY_ANOTHER_PET));
|
||||
return;
|
||||
|
@ -118,7 +118,7 @@ public class RequestSellItem extends GameClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if ((_listId > 1000000) && (merchant.getTemplate().npcId != (_listId - 1000000)))
|
||||
if ((_listId > 1000000) && (merchant.getTemplate().getNpcId() != (_listId - 1000000)))
|
||||
{
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
|
@ -153,8 +153,8 @@ public class CharInfo extends GameServerPacket
|
||||
writeD(_flyWalkSpd);
|
||||
writeF(_moveMultiplier);
|
||||
writeF(_attackSpeedMultiplier);
|
||||
writeF(template.collisionRadius);
|
||||
writeF(template.collisionHeight);
|
||||
writeF(template.getCollisionRadius());
|
||||
writeF(template.getCollisionHeight());
|
||||
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND)); // right hand weapon
|
||||
writeD(0);
|
||||
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND)); // left hand weapon
|
||||
@ -284,8 +284,8 @@ public class CharInfo extends GameServerPacket
|
||||
writeD(_flyWalkSpd);
|
||||
writeF(_player.getMovementSpeedMultiplier()); // _activeChar.getProperMultiplier()
|
||||
writeF(_player.getAttackSpeedMultiplier()); // _activeChar.getAttackSpeedMultiplier()
|
||||
writeF(_player.getBaseTemplate().collisionRadius);
|
||||
writeF(_player.getBaseTemplate().collisionHeight);
|
||||
writeF(_player.getBaseTemplate().getCollisionRadius());
|
||||
writeF(_player.getBaseTemplate().getCollisionHeight());
|
||||
|
||||
writeD(_player.getAppearance().getHairStyle());
|
||||
writeD(_player.getAppearance().getHairColor());
|
||||
|
@ -41,25 +41,25 @@ public class CharTemplates extends GameServerPacket
|
||||
|
||||
for (PlayerTemplate temp : _chars)
|
||||
{
|
||||
writeD(temp.race.ordinal());
|
||||
writeD(temp.classId.getId());
|
||||
writeD(temp.getRace().ordinal());
|
||||
writeD(temp.getClassId().getId());
|
||||
writeD(0x46);
|
||||
writeD(temp.baseSTR);
|
||||
writeD(temp.getBaseSTR());
|
||||
writeD(0x0a);
|
||||
writeD(0x46);
|
||||
writeD(temp.baseDEX);
|
||||
writeD(temp.getBaseDEX());
|
||||
writeD(0x0a);
|
||||
writeD(0x46);
|
||||
writeD(temp.baseCON);
|
||||
writeD(temp.getBaseCON());
|
||||
writeD(0x0a);
|
||||
writeD(0x46);
|
||||
writeD(temp.baseINT);
|
||||
writeD(temp.getBaseINT());
|
||||
writeD(0x0a);
|
||||
writeD(0x46);
|
||||
writeD(temp.baseWIT);
|
||||
writeD(temp.getBaseWIT());
|
||||
writeD(0x0a);
|
||||
writeD(0x46);
|
||||
writeD(temp.baseMEN);
|
||||
writeD(temp.getBaseMEN());
|
||||
writeD(0x0a);
|
||||
}
|
||||
}
|
||||
|
@ -177,8 +177,8 @@ public class GMViewCharacterInfo extends GameServerPacket
|
||||
writeD(_walkSpd);
|
||||
writeF(moveMultiplier);
|
||||
writeF(_player.getAttackSpeedMultiplier()); // 2.9); //
|
||||
writeF(_player.getTemplate().collisionRadius); // scale
|
||||
writeF(_player.getTemplate().collisionHeight); // y offset ??!? fem dwarf 4033
|
||||
writeF(_player.getTemplate().getCollisionRadius()); // scale
|
||||
writeF(_player.getTemplate().getCollisionHeight()); // y offset ??!? fem dwarf 4033
|
||||
writeD(_player.getAppearance().getHairStyle());
|
||||
writeD(_player.getAppearance().getHairColor());
|
||||
writeD(_player.getAppearance().getFace());
|
||||
|
@ -52,15 +52,15 @@ public class MonRaceInfo extends GameServerPacket
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
writeD(_monsters[i].getObjectId()); // npcObjectID
|
||||
writeD(_monsters[i].getTemplate().npcId + 1000000); // npcID
|
||||
writeD(_monsters[i].getTemplate().getNpcId() + 1000000); // npcID
|
||||
writeD(14107); // origin X
|
||||
writeD(181875 + (58 * (7 - i))); // origin Y
|
||||
writeD(-3566); // origin Z
|
||||
writeD(12080); // end X
|
||||
writeD(181875 + (58 * (7 - i))); // end Y
|
||||
writeD(-3566); // end Z
|
||||
writeF(_monsters[i].getTemplate().collisionHeight); // coll. height
|
||||
writeF(_monsters[i].getTemplate().collisionRadius); // coll. radius
|
||||
writeF(_monsters[i].getTemplate().getCollisionHeight()); // coll. height
|
||||
writeF(_monsters[i].getTemplate().getCollisionRadius()); // coll. radius
|
||||
writeD(120); // ?? unknown
|
||||
for (int j = 0; j < 20; j++)
|
||||
{
|
||||
|
@ -71,25 +71,25 @@ public class NpcInfo extends GameServerPacket
|
||||
return;
|
||||
}
|
||||
_creature = cha;
|
||||
_idTemplate = cha.getTemplate().idTemplate;
|
||||
_idTemplate = cha.getTemplate().getIdTemplate();
|
||||
_isAttackable = cha.isAutoAttackable(attacker);
|
||||
_rhand = cha.getRightHandItem();
|
||||
_lhand = cha.getLeftHandItem();
|
||||
_isSummoned = false;
|
||||
_collisionHeight = cha.getCollisionHeight();
|
||||
_collisionRadius = cha.getCollisionRadius();
|
||||
if (cha.getTemplate().serverSideName)
|
||||
if (cha.getTemplate().isServerSideName())
|
||||
{
|
||||
_name = cha.getTemplate().name;
|
||||
_name = cha.getTemplate().getName();
|
||||
}
|
||||
|
||||
if (Config.L2JMOD_CHAMPION_ENABLE && cha.isChampion())
|
||||
{
|
||||
_title = Config.L2JMOD_CHAMP_TITLE;
|
||||
}
|
||||
else if (cha.getTemplate().serverSideTitle)
|
||||
else if (cha.getTemplate().isServerSideTitle())
|
||||
{
|
||||
_title = cha.getTemplate().title;
|
||||
_title = cha.getTemplate().getTitle();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -145,14 +145,14 @@ public class NpcInfo extends GameServerPacket
|
||||
public NpcInfo(Summon cha, Creature attacker)
|
||||
{
|
||||
_creature = cha;
|
||||
_idTemplate = cha.getTemplate().idTemplate;
|
||||
_idTemplate = cha.getTemplate().getIdTemplate();
|
||||
_isAttackable = cha.isAutoAttackable(attacker); // (cha.getKarma() > 0);
|
||||
_rhand = 0;
|
||||
_lhand = 0;
|
||||
_isSummoned = cha.isShowSummonAnimation();
|
||||
_collisionHeight = _creature.getTemplate().collisionHeight;
|
||||
_collisionRadius = _creature.getTemplate().collisionRadius;
|
||||
if (cha.getTemplate().serverSideName || (cha instanceof PetInstance) || (cha instanceof SummonInstance))
|
||||
_collisionHeight = _creature.getTemplate().getCollisionHeight();
|
||||
_collisionRadius = _creature.getTemplate().getCollisionRadius();
|
||||
if (cha.getTemplate().isServerSideName() || (cha instanceof PetInstance) || (cha instanceof SummonInstance))
|
||||
{
|
||||
_name = _creature.getName();
|
||||
_title = cha.getTitle();
|
||||
|
@ -72,14 +72,14 @@ public class NpcInfoPoly extends GameServerPacket
|
||||
_rhand = 0;
|
||||
_lhand = 0;
|
||||
_isSummoned = false;
|
||||
_collisionRadius = _template.collisionRadius;
|
||||
_collisionHeight = _template.collisionHeight;
|
||||
_collisionRadius = _template.getCollisionRadius();
|
||||
_collisionHeight = _template.getCollisionHeight();
|
||||
if (_obj instanceof Creature)
|
||||
{
|
||||
_creature = (Creature) obj;
|
||||
_isAttackable = obj.isAutoAttackable(attacker);
|
||||
_rhand = _template.rhand;
|
||||
_lhand = _template.lhand;
|
||||
_rhand = _template.getRhand();
|
||||
_lhand = _template.getLhand();
|
||||
}
|
||||
|
||||
if (_obj instanceof ItemInstance)
|
||||
|
@ -86,7 +86,7 @@ public class PetInfo extends GameServerPacket
|
||||
writeC(0xb1);
|
||||
writeD(_summon.getSummonType());
|
||||
writeD(_summon.getObjectId());
|
||||
writeD(_summon.getTemplate().idTemplate + 1000000);
|
||||
writeD(_summon.getTemplate().getIdTemplate() + 1000000);
|
||||
writeD(0); // 1=attackable
|
||||
|
||||
writeD(_x);
|
||||
@ -107,8 +107,8 @@ public class PetInfo extends GameServerPacket
|
||||
|
||||
writeF(1/* _cha.getProperMultiplier() */);
|
||||
writeF(1/* _cha.getAttackSpeedMultiplier() */);
|
||||
writeF(_summon.getTemplate().collisionRadius);
|
||||
writeF(_summon.getTemplate().collisionHeight);
|
||||
writeF(_summon.getTemplate().getCollisionRadius());
|
||||
writeF(_summon.getTemplate().getCollisionHeight());
|
||||
writeD(0); // right hand weapon
|
||||
writeD(0);
|
||||
writeD(0); // left hand weapon
|
||||
@ -147,7 +147,7 @@ public class PetInfo extends GameServerPacket
|
||||
writeD(_summon.getMAtkSpd()); // casting speed
|
||||
|
||||
writeD(0); // c2 abnormal visual effect... bleed=1; poison=2; poison & bleed=3; flame=4;
|
||||
final int npcId = _summon.getTemplate().npcId;
|
||||
final int npcId = _summon.getTemplate().getNpcId();
|
||||
|
||||
if ((npcId >= 12526) && (npcId <= 12528))
|
||||
{
|
||||
|
@ -233,13 +233,13 @@ public class UserInfo extends GameServerPacket
|
||||
final Summon pet = _player.getPet();
|
||||
if ((_player.getMountType() != 0) && (pet != null))
|
||||
{
|
||||
writeF(pet.getTemplate().collisionRadius);
|
||||
writeF(pet.getTemplate().collisionHeight);
|
||||
writeF(pet.getTemplate().getCollisionRadius());
|
||||
writeF(pet.getTemplate().getCollisionHeight());
|
||||
}
|
||||
else
|
||||
{
|
||||
writeF(_player.getBaseTemplate().collisionRadius);
|
||||
writeF(_player.getBaseTemplate().collisionHeight);
|
||||
writeF(_player.getBaseTemplate().getCollisionRadius());
|
||||
writeF(_player.getBaseTemplate().getCollisionHeight());
|
||||
}
|
||||
|
||||
writeD(_player.getAppearance().getHairStyle());
|
||||
@ -257,7 +257,7 @@ public class UserInfo extends GameServerPacket
|
||||
final NpcTemplate polyObj = NpcTable.getInstance().getTemplate(_player.getPoly().getPolyId());
|
||||
if (polyObj != null)
|
||||
{
|
||||
title += " - " + polyObj.name;
|
||||
title += " - " + polyObj.getName();
|
||||
}
|
||||
}
|
||||
writeS(title);
|
||||
|
@ -176,11 +176,11 @@ public class Util
|
||||
int rad = 0;
|
||||
if (obj1 instanceof Creature)
|
||||
{
|
||||
rad += ((Creature) obj1).getTemplate().collisionRadius;
|
||||
rad += ((Creature) obj1).getTemplate().getCollisionRadius();
|
||||
}
|
||||
if (obj2 instanceof Creature)
|
||||
{
|
||||
rad += ((Creature) obj2).getTemplate().collisionRadius;
|
||||
rad += ((Creature) obj2).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
final double dx = obj1.getX() - obj2.getX();
|
||||
|
Loading…
Reference in New Issue
Block a user