Addition of getters for creature template values.

This commit is contained in:
MobiusDevelopment 2020-01-24 19:46:48 +00:00
parent 7960f9fc58
commit d4a8f7b744
75 changed files with 1049 additions and 616 deletions

View File

@ -131,7 +131,7 @@ public class RaidbossInfo extends Quest
for (Spawn spawn : SpawnTable.getInstance().getSpawnTable().values()) for (Spawn spawn : SpawnTable.getInstance().getSpawnTable().values())
{ {
final NpcTemplate template = NpcTable.getInstance().getTemplate(spawn.getNpcId()); 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())); RADARS.put(spawn.getNpcId(), new Location(spawn.getX(), spawn.getY(), spawn.getZ()));
} }

View File

@ -356,7 +356,7 @@ public class Q336_CoinsOfMagic extends Quest
final int npcId = npc.getNpcId(); final int npcId = npc.getNpcId();
if ((npcId == HARIT_LIZARDMAN_MATRIARCH) || (npcId == HARIT_LIZARDMAN_SHAMAN)) 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.giveItems(KALDIS_COIN, 1);
st.set("cond", "3"); st.set("cond", "3");
@ -378,7 +378,7 @@ public class Q336_CoinsOfMagic extends Quest
{ {
if (u == npcId) 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); st.giveItems(BASIC_COINS[Rnd.get(BASIC_COINS.length)], 1);
} }

View File

@ -752,7 +752,7 @@ public class AttackableAI extends CreatureAI
_actor.setTarget(originalAttackTarget); _actor.setTarget(originalAttackTarget);
skills = _actor.getAllSkills(); skills = _actor.getAllSkills();
// dist2 = _actor.getPlanDistanceSq(originalAttackTarget.getX(), originalAttackTarget.getY()); // 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) catch (NullPointerException e)
{ {
@ -761,8 +761,8 @@ public class AttackableAI extends CreatureAI
} }
final Weapon weapon = _actor.getActiveWeaponItem(); final Weapon weapon = _actor.getActiveWeaponItem();
final int collision = _actor.getTemplate().collisionRadius; final int collision = _actor.getTemplate().getCollisionRadius();
final int combinedCollision = collision + originalAttackTarget.getTemplate().collisionRadius; final int combinedCollision = collision + originalAttackTarget.getTemplate().getCollisionRadius();
// ------------------------------------------------------ // ------------------------------------------------------
// In case many mobs are trying to hit from same place, move a bit, // In case many mobs are trying to hit from same place, move a bit,

View File

@ -193,7 +193,7 @@ public class ControllableMobAI extends AttackableAI
final Skill[] skills = _actor.getAllSkills(); final Skill[] skills = _actor.getAllSkills();
final double dist2 = _actor.getPlanDistanceSq(target.getX(), target.getY()); 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; int maxRange = range;
if (!_actor.isMuted() && (dist2 > ((range + 20) * (range + 20)))) if (!_actor.isMuted() && (dist2 > ((range + 20) * (range + 20))))
@ -231,7 +231,7 @@ public class ControllableMobAI extends AttackableAI
_actor.setTarget(getForcedTarget()); _actor.setTarget(getForcedTarget());
final Skill[] skills = _actor.getAllSkills(); final Skill[] skills = _actor.getAllSkills();
final double dist2 = _actor.getPlanDistanceSq(getForcedTarget().getX(), getForcedTarget().getY()); 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; int maxRange = range;
if (!_actor.isMuted() && (dist2 > ((range + 20) * (range + 20)))) if (!_actor.isMuted() && (dist2 > ((range + 20) * (range + 20))))
@ -301,7 +301,7 @@ public class ControllableMobAI extends AttackableAI
_actor.setTarget(getAttackTarget()); _actor.setTarget(getAttackTarget());
final Skill[] skills = _actor.getAllSkills(); final Skill[] skills = _actor.getAllSkills();
final double dist2 = _actor.getPlanDistanceSq(getAttackTarget().getX(), getAttackTarget().getY()); 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; int maxRange = range;
if (!_actor.isMuted() && (dist2 > ((range + 20) * (range + 20)))) if (!_actor.isMuted() && (dist2 > ((range + 20) * (range + 20))))

View File

@ -1000,10 +1000,10 @@ public class CreatureAI extends AbstractAI
return false; return false;
} }
int offsetWithCollision = offset + _actor.getTemplate().collisionRadius; int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
if (target instanceof Creature) if (target instanceof Creature)
{ {
offsetWithCollision += ((Creature) target).getTemplate().collisionRadius; offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
} }
if (!_actor.isInsideRadius(target, offsetWithCollision, false, false)) if (!_actor.isInsideRadius(target, offsetWithCollision, false, false))

View File

@ -610,7 +610,7 @@ public class FortSiegeGuardAI extends CreatureAI implements Runnable
_actor.setTarget(attackTarget); _actor.setTarget(attackTarget);
skills = _actor.getAllSkills(); skills = _actor.getAllSkills();
dist2 = _actor.getPlanDistanceSq(attackTarget.getX(), attackTarget.getY()); 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()) if (attackTarget.isMoving())
{ {
range += 50; range += 50;

View File

@ -331,7 +331,7 @@ public class SiegeGuardAI extends CreatureAI implements Runnable
_actor.setTarget(attackTarget); _actor.setTarget(attackTarget);
skills = _actor.getAllSkills(); skills = _actor.getAllSkills();
dist2 = _actor.getPlanDistanceSq(attackTarget.getX(), attackTarget.getY()); 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) catch (NullPointerException e)
{ {

View File

@ -223,7 +223,7 @@ public class CharTemplateTable
ct.addItem(rset.getInt("items" + x)); ct.addItem(rset.getInt("items" + x));
} }
} }
_templates.put(ct.classId.getId(), ct); _templates.put(ct.getClassId().getId(), ct);
} }
statement.close(); statement.close();

View File

@ -107,7 +107,7 @@ public class NpcTable
final int skillId = npcskills.getInt("skillid"); final int skillId = npcskills.getInt("skillid");
final int level = npcskills.getInt("level"); final int level = npcskills.getInt("level");
if ((npcDat.race == null) && (skillId == 4416)) if ((npcDat.getRace() == null) && (skillId == 4416))
{ {
npcDat.setRace(level); npcDat.setRace(level);
continue; continue;
@ -548,7 +548,8 @@ public class NpcTable
{ {
categories.addAll(old.getDropData()); categories.addAll(old.getDropData());
} }
final ClassId[] classIds = old.getTeachInfo().clone();
final List<ClassId> classIds = old.getTeachInfo();
final List<MinionData> minions = new ArrayList<>(); final List<MinionData> minions = new ArrayList<>();
@ -657,7 +658,7 @@ public class NpcTable
public void replaceTemplate(NpcTemplate npc) public void replaceTemplate(NpcTemplate npc)
{ {
_npcs.put(npc.npcId, npc); _npcs.put(npc.getNpcId(), npc);
} }
public NpcTemplate getTemplate(int id) public NpcTemplate getTemplate(int id)
@ -669,7 +670,7 @@ public class NpcTable
{ {
for (NpcTemplate npcTemplate : _npcs.values()) for (NpcTemplate npcTemplate : _npcs.values())
{ {
if (npcTemplate.name.equalsIgnoreCase(name)) if (npcTemplate.getName().equalsIgnoreCase(name))
{ {
return npcTemplate; return npcTemplate;
} }
@ -684,7 +685,7 @@ public class NpcTable
for (NpcTemplate t : _npcs.values()) for (NpcTemplate t : _npcs.values())
{ {
if (t.level == lvl) if (t.getLevel() == lvl)
{ {
list.add(t); list.add(t);
} }
@ -699,7 +700,7 @@ public class NpcTable
for (NpcTemplate t : _npcs.values()) for (NpcTemplate t : _npcs.values())
{ {
if ((t.level == lvl) && "Monster".equals(t.type)) if ((t.getLevel() == lvl) && "Monster".equals(t.getType()))
{ {
list.add(t); list.add(t);
} }
@ -714,7 +715,7 @@ public class NpcTable
for (NpcTemplate t : _npcs.values()) 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); list.add(t);
} }

View File

@ -82,19 +82,19 @@ public class SpawnTable
template1 = NpcTable.getInstance().getTemplate(rset.getInt("npc_templateid")); template1 = NpcTable.getInstance().getTemplate(rset.getInt("npc_templateid"));
if (template1 != null) if (template1 != null)
{ {
if (template1.type.equalsIgnoreCase("SiegeGuard")) if (template1.getType().equalsIgnoreCase("SiegeGuard"))
{ {
// Don't spawn // Don't spawn
} }
else if (template1.type.equalsIgnoreCase("RaidBoss")) else if (template1.getType().equalsIgnoreCase("RaidBoss"))
{ {
// Don't spawn raidboss // Don't spawn raidboss
} }
else if (template1.type.equalsIgnoreCase("GrandBoss")) else if (template1.getType().equalsIgnoreCase("GrandBoss"))
{ {
// Don't spawn 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 // Dont' spawn class masters
} }
@ -188,15 +188,15 @@ public class SpawnTable
if (template1 != null) if (template1 != null)
{ {
if (template1.type.equalsIgnoreCase("SiegeGuard")) if (template1.getType().equalsIgnoreCase("SiegeGuard"))
{ {
// Don't spawn // Don't spawn
} }
else if (template1.type.equalsIgnoreCase("RaidBoss")) else if (template1.getType().equalsIgnoreCase("RaidBoss"))
{ {
// Don't spawn 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 // Dont' spawn class masters
} }
@ -368,7 +368,7 @@ public class SpawnTable
} }
else 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());
} }
} }
} }

View File

@ -407,13 +407,13 @@ public class GeoEngine
double oheight = 0; double oheight = 0;
if (origin.isCreature()) if (origin.isCreature())
{ {
oheight = ((Creature) origin).getTemplate().collisionHeight * 2; oheight = ((Creature) origin).getTemplate().getCollisionHeight() * 2;
} }
double theight = 0; double theight = 0;
if (target.isCreature()) if (target.isCreature())
{ {
theight = ((Creature) target).getTemplate().collisionHeight * 2; theight = ((Creature) target).getTemplate().getCollisionHeight() * 2;
} }
// perform geodata check // perform geodata check
@ -475,7 +475,7 @@ public class GeoEngine
double oheight = 0; double oheight = 0;
if (origin.isCreature()) if (origin.isCreature())
{ {
oheight = ((Creature) origin).getTemplate().collisionHeight; oheight = ((Creature) origin).getTemplate().getCollisionHeight();
} }
// perform geodata check // perform geodata check

View File

@ -503,7 +503,7 @@ public class AdminEditChar implements IAdminCommandHandler
{ {
player.setBaseClass(classId); player.setBaseClass(classId);
} }
final String newclass = player.getTemplate().className; final String newclass = player.getTemplate().getClassName();
player.store(); player.store();
if (player != activeChar) if (player != activeChar)
{ {
@ -992,7 +992,7 @@ public class AdminEditChar implements IAdminCommandHandler
for (int i = CharactersStart; i < charactersEnd; i++) 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()); adminReply.replace("%players%", replyMSG.toString());
@ -1038,7 +1038,7 @@ public class AdminEditChar implements IAdminCommandHandler
} }
adminReply.replace("%xp%", String.valueOf(player.getExp())); adminReply.replace("%xp%", String.valueOf(player.getExp()));
adminReply.replace("%sp%", String.valueOf(player.getSp())); 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("%ordinal%", String.valueOf(player.getClassId().ordinal()));
adminReply.replace("%classid%", String.valueOf(player.getClassId())); adminReply.replace("%classid%", String.valueOf(player.getClassId()));
adminReply.replace("%x%", String.valueOf(player.getX())); adminReply.replace("%x%", String.valueOf(player.getX()));
@ -1215,7 +1215,7 @@ public class AdminEditChar implements IAdminCommandHandler
if (name.toLowerCase().contains(characterToFind.toLowerCase())) if (name.toLowerCase().contains(characterToFind.toLowerCase()))
{ {
charactersFound = charactersFound + 1; 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) if (charactersFound > 20)
@ -1341,7 +1341,7 @@ public class AdminEditChar implements IAdminCommandHandler
{ {
name = player.getName(); name = player.getName();
charactersFound = charactersFound + 1; 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) if (charactersFound > 20)

View File

@ -913,46 +913,46 @@ public class AdminEditNpc implements IAdminCommandHandler
if (content != null) if (content != null)
{ {
adminReply.setHtml(content); adminReply.setHtml(content);
adminReply.replace("%npcId%", String.valueOf(npc.npcId)); adminReply.replace("%npcId%", String.valueOf(npc.getNpcId()));
adminReply.replace("%templateId%", String.valueOf(npc.idTemplate)); adminReply.replace("%templateId%", String.valueOf(npc.getIdTemplate()));
adminReply.replace("%name%", npc.name); adminReply.replace("%name%", npc.getName());
adminReply.replace("%serverSideName%", npc.serverSideName ? "1" : "0"); adminReply.replace("%serverSideName%", npc.isServerSideName() ? "1" : "0");
adminReply.replace("%title%", npc.title); adminReply.replace("%title%", npc.getTitle());
adminReply.replace("%serverSideTitle%", npc.serverSideTitle ? "1" : "0"); adminReply.replace("%serverSideTitle%", npc.isServerSideTitle() ? "1" : "0");
adminReply.replace("%collisionRadius%", String.valueOf(npc.collisionRadius)); adminReply.replace("%collisionRadius%", String.valueOf(npc.getCollisionRadius()));
adminReply.replace("%collisionHeight%", String.valueOf(npc.collisionHeight)); adminReply.replace("%collisionHeight%", String.valueOf(npc.getCollisionHeight()));
adminReply.replace("%level%", String.valueOf(npc.level)); adminReply.replace("%level%", String.valueOf(npc.getLevel()));
adminReply.replace("%sex%", npc.sex); adminReply.replace("%sex%", npc.getSex());
adminReply.replace("%type%", npc.type); adminReply.replace("%type%", npc.getType());
adminReply.replace("%attackRange%", String.valueOf(npc.baseAtkRange)); adminReply.replace("%attackRange%", String.valueOf(npc.getBaseAtkRange()));
adminReply.replace("%hp%", String.valueOf(npc.baseHpMax)); adminReply.replace("%hp%", String.valueOf(npc.getBaseHpMax()));
adminReply.replace("%mp%", String.valueOf(npc.baseMpMax)); adminReply.replace("%mp%", String.valueOf(npc.getBaseMpMax()));
adminReply.replace("%hpRegen%", String.valueOf(npc.baseHpReg)); adminReply.replace("%hpRegen%", String.valueOf(npc.getBaseHpReg()));
adminReply.replace("%mpRegen%", String.valueOf(npc.baseMpReg)); adminReply.replace("%mpRegen%", String.valueOf(npc.getBaseMpReg()));
adminReply.replace("%str%", String.valueOf(npc.baseSTR)); adminReply.replace("%str%", String.valueOf(npc.getBaseSTR()));
adminReply.replace("%con%", String.valueOf(npc.baseCON)); adminReply.replace("%con%", String.valueOf(npc.getBaseCON()));
adminReply.replace("%dex%", String.valueOf(npc.baseDEX)); adminReply.replace("%dex%", String.valueOf(npc.getBaseDEX()));
adminReply.replace("%int%", String.valueOf(npc.baseINT)); adminReply.replace("%int%", String.valueOf(npc.getBaseINT()));
adminReply.replace("%wit%", String.valueOf(npc.baseWIT)); adminReply.replace("%wit%", String.valueOf(npc.getBaseWIT()));
adminReply.replace("%men%", String.valueOf(npc.baseMEN)); adminReply.replace("%men%", String.valueOf(npc.getBaseMEN()));
adminReply.replace("%exp%", String.valueOf(npc.rewardExp)); adminReply.replace("%exp%", String.valueOf(npc.getRewardExp()));
adminReply.replace("%sp%", String.valueOf(npc.rewardSp)); adminReply.replace("%sp%", String.valueOf(npc.getRewardSp()));
adminReply.replace("%pAtk%", String.valueOf(npc.basePAtk)); adminReply.replace("%pAtk%", String.valueOf(npc.getBasePAtk()));
adminReply.replace("%pDef%", String.valueOf(npc.basePDef)); adminReply.replace("%pDef%", String.valueOf(npc.getBasePDef()));
adminReply.replace("%mAtk%", String.valueOf(npc.baseMAtk)); adminReply.replace("%mAtk%", String.valueOf(npc.getBaseMAtk()));
adminReply.replace("%mDef%", String.valueOf(npc.baseMDef)); adminReply.replace("%mDef%", String.valueOf(npc.getBaseMDef()));
adminReply.replace("%pAtkSpd%", String.valueOf(npc.basePAtkSpd)); adminReply.replace("%pAtkSpd%", String.valueOf(npc.getBasePAtkSpd()));
adminReply.replace("%aggro%", String.valueOf(npc.aggroRange)); adminReply.replace("%aggro%", String.valueOf(npc.getAggroRange()));
adminReply.replace("%mAtkSpd%", String.valueOf(npc.baseMAtkSpd)); adminReply.replace("%mAtkSpd%", String.valueOf(npc.getBaseMAtkSpd()));
adminReply.replace("%rHand%", String.valueOf(npc.rhand)); adminReply.replace("%rHand%", String.valueOf(npc.getRhand()));
adminReply.replace("%lHand%", String.valueOf(npc.lhand)); adminReply.replace("%lHand%", String.valueOf(npc.getLhand()));
adminReply.replace("%armor%", String.valueOf(npc.armor)); adminReply.replace("%armor%", String.valueOf(npc.getArmor()));
adminReply.replace("%walkSpd%", String.valueOf(npc.baseWalkSpd)); adminReply.replace("%walkSpd%", String.valueOf(npc.getBaseWalkSpd()));
adminReply.replace("%runSpd%", String.valueOf(npc.baseRunSpd)); adminReply.replace("%runSpd%", String.valueOf(npc.getBaseRunSpd()));
adminReply.replace("%factionId%", npc.factionId == null ? "" : npc.factionId); adminReply.replace("%factionId%", npc.getFactionId() == null ? "" : npc.getFactionId());
adminReply.replace("%factionRange%", String.valueOf(npc.factionRange)); adminReply.replace("%factionRange%", String.valueOf(npc.getFactionRange()));
adminReply.replace("%isUndead%", npc.isUndead ? "1" : "0"); adminReply.replace("%isUndead%", npc.isUndead() ? "1" : "0");
adminReply.replace("%absorbLevel%", String.valueOf(npc.absorbLevel)); adminReply.replace("%absorbLevel%", String.valueOf(npc.getAbsorbLevel()));
} }
else else
{ {
@ -1213,7 +1213,7 @@ public class AdminEditNpc implements IAdminCommandHandler
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5); 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("<body>");
replyMSG.append("<br>Notes: click[drop_id]to show the detail of drop data,click[del] to delete the drop data!"); replyMSG.append("<br>Notes: click[drop_id]to show the detail of drop data,click[del] to delete the drop data!");
replyMSG.append("<table>"); replyMSG.append("<table>");
@ -1226,10 +1226,10 @@ public class AdminEditNpc implements IAdminCommandHandler
itemTemplate = ItemTable.getInstance().getTemplate(drop.getItemId()); itemTemplate = ItemTable.getInstance().getTemplate(drop.getItemId());
if (itemTemplate == null) 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; 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()) if (dropData.next())
{ {
replyMSG.append("<table>"); 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>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>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>"); 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 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("<body>");
replyMSG.append("<table>"); replyMSG.append("<table>");
replyMSG.append("<tr><td>Item-Id</td><td><edit var=\"itemId\" width=80></td></tr>"); 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("<tr><td>CHANCE(0-1000000)</td><td><edit var=\"chance\" width=80></td></tr>");
replyMSG.append("</table>"); replyMSG.append("</table>");
replyMSG.append("<center>"); 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("<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.npcId + "\" 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("</center>");
replyMSG.append("</body></html>"); replyMSG.append("</body></html>");
adminReply.setHtml(replyMSG.toString()); adminReply.setHtml(replyMSG.toString());

View File

@ -111,7 +111,7 @@ public class AdminExpSp implements IAdminCommandHandler
adminReply.replace("%level%", String.valueOf(player.getLevel())); adminReply.replace("%level%", String.valueOf(player.getLevel()));
adminReply.replace("%xp%", String.valueOf(player.getExp())); adminReply.replace("%xp%", String.valueOf(player.getExp()));
adminReply.replace("%sp%", String.valueOf(player.getSp())); adminReply.replace("%sp%", String.valueOf(player.getSp()));
adminReply.replace("%class%", player.getTemplate().className); adminReply.replace("%class%", player.getTemplate().getClassName());
activeChar.sendPacket(adminReply); activeChar.sendPacket(adminReply);
} }

View File

@ -136,11 +136,11 @@ public class AdminFightCalculator implements IAdminCommandHandler
replyMSG.append("<table>"); replyMSG.append("<table>");
replyMSG.append("<tr><td>First</td><td>Second</td></tr>"); 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>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>id " + npc1.getNpcId() + "</td><td>id " + npc2.getNpcId() + "</td></tr>");
replyMSG.append("<tr><td>" + npc1.name + "</td><td>" + npc2.name + "</td></tr>"); replyMSG.append("<tr><td>" + npc1.getName() + "</td><td>" + npc2.getName() + "</td></tr>");
replyMSG.append("</table>"); replyMSG.append("</table>");
replyMSG.append("<center><br><br><br>"); 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("</center>");
replyMSG.append("</body></html>"); replyMSG.append("</body></html>");
} }
@ -153,7 +153,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
for (NpcTemplate n : npcs) 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>"); replyMSG.append("</table></body></html>");
@ -167,7 +167,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
for (NpcTemplate n : npcs) 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>"); replyMSG.append("</table></body></html>");
@ -369,7 +369,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
} }
else 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>"); replyMSG.append("<tr><td>miss</td><td>" + miss1 + "%</td><td>" + miss2 + "%</td></tr>");
@ -412,7 +412,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
} }
else 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>"); replyMSG.append("</center>");

View File

@ -166,7 +166,7 @@ public class AdminMammon implements IAdminCommandHandler
else else
{ {
params[1] = params[1].replace('_', ' '); params[1] = params[1].replace('_', ' ');
npcId = NpcTable.getInstance().getTemplateByName(params[1]).npcId; npcId = NpcTable.getInstance().getTemplateByName(params[1]).getNpcId();
} }
if (params.length > 2) if (params.length > 2)

View File

@ -650,7 +650,7 @@ public class AdminMobGroup implements IAdminCommandHandler
for (MobGroup mobGroup : mobGroupList) 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); activeChar.sendPacket(SystemMessageId.FRIEND_LIST_FOOT);

View File

@ -288,7 +288,7 @@ public class AdminSkill implements IAdminCommandHandler
replyMSG.append("</tr></table>"); replyMSG.append("</tr></table>");
replyMSG.append("<br><br>"); replyMSG.append("<br><br>");
replyMSG.append("<center>Editing <font color=\"LEVEL\">" + player.getName() + "</font></center>"); 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("<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("<tr><td>ruin the game...</td></tr></table>");
replyMSG.append("<br><center>Click on the skill you wish to remove:</center>"); 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.setFile("data/html/admin/charskills.htm");
adminReply.replace("%name%", player.getName()); adminReply.replace("%name%", player.getName());
adminReply.replace("%level%", String.valueOf(player.getLevel())); adminReply.replace("%level%", String.valueOf(player.getLevel()));
adminReply.replace("%class%", player.getTemplate().className); adminReply.replace("%class%", player.getTemplate().getClassName());
activeChar.sendPacket(adminReply); activeChar.sendPacket(adminReply);
} }

View File

@ -310,7 +310,7 @@ public class AdminSpawn implements IAdminCommandHandler
if (RaidBossSpawnManager.getInstance().isDefined(spawn.getNpcId()) || GrandBossManager.getInstance().isDefined(spawn.getNpcId())) 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, "It will be spawned but not saved on Database");
BuilderUtil.sendSysMessage(activeChar, "After server restart or raid dead, the spawned npc will desappear"); BuilderUtil.sendSysMessage(activeChar, "After server restart or raid dead, the spawned npc will desappear");
permanent = false; permanent = false;
@ -333,7 +333,7 @@ public class AdminSpawn implements IAdminCommandHandler
spawn.stopRespawn(); spawn.stopRespawn();
} }
BuilderUtil.sendSysMessage(activeChar, "Created " + template1.name + " on " + target.getObjectId()); BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId());
} }
catch (Exception e) catch (Exception e)
{ {
@ -356,7 +356,7 @@ public class AdminSpawn implements IAdminCommandHandler
boolean ended = true; boolean ended = true;
for (int i = from; i < mobs.length; i++) 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) if ((tb.length() + txt.length() + end2.length()) > 8192)
{ {
@ -396,7 +396,7 @@ public class AdminSpawn implements IAdminCommandHandler
boolean ended = true; boolean ended = true;
for (int i = from; i < mobs.length; i++) 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) if ((tb.length() + txt.length() + end2.length()) > 8192)
{ {

View File

@ -590,7 +590,7 @@ public class AdminTeleport implements IAdminCommandHandler
{ {
final NpcInstance target = (NpcInstance) obj; final NpcInstance target = (NpcInstance) obj;
final int monsterTemplate = target.getTemplate().npcId; final int monsterTemplate = target.getTemplate().getNpcId();
final NpcTemplate template1 = NpcTable.getInstance().getTemplate(monsterTemplate); final NpcTemplate template1 = NpcTable.getInstance().getTemplate(monsterTemplate);
@ -632,7 +632,7 @@ public class AdminTeleport implements IAdminCommandHandler
spawn.init(); spawn.init();
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2); 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); activeChar.sendPacket(sm);
} }
catch (Exception e) catch (Exception e)

View File

@ -63,12 +63,12 @@ public class AdminTest implements IAdminCommandHandler
final Creature target = (Creature) activeChar.getTarget(); final Creature target = (Creature) activeChar.getTarget();
BuilderUtil.sendSysMessage(activeChar, "Activechar Mcrit " + activeChar.getMCriticalHit(null, null)); 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) if (target != null)
{ {
BuilderUtil.sendSysMessage(activeChar, "Target Mcrit " + target.getMCriticalHit(null, 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")) if (command.equals("admin_addbufftest"))

View File

@ -75,7 +75,7 @@ public class JackpotSeed implements IItemHandler
gourd.setOwner(player.getName()); gourd.setOwner(player.getName());
player.destroyItem("Consume", item.getObjectId(), 1, null, false); player.destroyItem("Consume", item.getObjectId(), 1, null, false);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2); 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); player.sendPacket(sm);
} }
catch (Exception e) catch (Exception e)

View File

@ -153,7 +153,7 @@ public class SummonItems implements IItemHandler
spawn.setZ(player.getZ()); spawn.setZ(player.getZ());
World.getInstance().storeObject(spawn.doSpawn()); World.getInstance().storeObject(spawn.doSpawn());
player.destroyItem("Summon", item.getObjectId(), 1, null, false); 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) catch (Exception e)
{ {

View File

@ -97,7 +97,7 @@ public class Mount implements IUserCommandHandler
return false; 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 */); Broadcast.toSelfAndKnownPlayersInRadius(player, mount, 810000/* 900 */);
player.setMountType(mount.getMountType()); player.setMountType(mount.getMountType());
player.setMountObjectID(pet.getControlItemId()); player.setMountObjectID(pet.getControlItemId());

View File

@ -448,7 +448,7 @@ public class GrandBossManager
return null; return null;
} }
if (!template.type.equalsIgnoreCase("GrandBoss")) if (!template.getType().equalsIgnoreCase("GrandBoss"))
{ {
return null; return null;
} }

View File

@ -484,7 +484,7 @@ public class RaidBossSpawnManager
return null; return null;
} }
if (!template.type.equalsIgnoreCase("RaidBoss")) if (!template.getType().equalsIgnoreCase("RaidBoss"))
{ {
return null; return null;
} }

View File

@ -1965,7 +1965,7 @@ public class Attackable extends NpcInstance
// Instant Item Drop :> // Instant Item Drop :>
final double rateHp = getStat().calcStat(Stats.MAX_HP, 1, this, null); 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 hp = false;
boolean mp = false; boolean mp = false;
@ -2670,7 +2670,7 @@ public class Attackable extends NpcInstance
boolean doLevelup = true; boolean doLevelup = true;
final boolean isBossMob = maxAbsorbLevel > 10; 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; final PlayerInstance killer = attacker instanceof Summon ? ((Summon) attacker).getOwner() : (PlayerInstance) attacker;
@ -3194,7 +3194,7 @@ public class Attackable extends NpcInstance
private int getAbsorbLevel() private int getAbsorbLevel()
{ {
return getTemplate().absorbLevel; return getTemplate().getAbsorbLevel();
} }
/** /**

View File

@ -923,7 +923,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
if ((target instanceof NpcInstance) && Config.DISABLE_ATTACK_NPC_TYPE) 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)) if (!Config.LIST_ALLOWED_NPC_TYPES.contains(mobtype))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2); 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) 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)) if (!Config.LIST_ALLOWED_NPC_TYPES.contains(mobtype))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2); final SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
@ -2838,7 +2838,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
*/ */
public boolean isUndead() public boolean isUndead()
{ {
return _template.isUndead; return _template.isUndead();
} }
@Override @Override
@ -6480,7 +6480,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
if (this instanceof Summon) if (this instanceof Summon)
{ {
final int mobId = ((Summon) this).getTemplate().npcId; final int mobId = ((Summon) this).getTemplate().getNpcId();
sm.addNpcName(mobId); sm.addNpcName(mobId);
} }
else else
@ -6528,14 +6528,14 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
{ {
MonsterInstance bossInstance = null; MonsterInstance bossInstance = null;
if (bossTemplate.type.equals("RaidBoss")) if (bossTemplate.getType().equals("RaidBoss"))
{ {
if (RaidBossSpawnManager.getInstance().getStatsSet(bossId) != null) if (RaidBossSpawnManager.getInstance().getStatsSet(bossId) != null)
{ {
bossInstance = RaidBossSpawnManager.getInstance().getBoss(bossId); bossInstance = RaidBossSpawnManager.getInstance().getBoss(bossId);
} }
} }
else if (bossTemplate.type.equals("GrandBoss")) else if (bossTemplate.getType().equals("GrandBoss"))
{ {
if (GrandBossManager.getInstance().getStatsSet(bossId) != null) 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) 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)) if (Config.LIST_ALLOWED_NPC_TYPES.contains(mobtype))
{ {
return false; return false;
@ -8360,14 +8360,14 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
{ {
MonsterInstance bossInstance = null; MonsterInstance bossInstance = null;
if (bossTemplate.type.equals("RaidBoss")) if (bossTemplate.getType().equals("RaidBoss"))
{ {
if (RaidBossSpawnManager.getInstance().getStatsSet(bossId) != null) if (RaidBossSpawnManager.getInstance().getStatsSet(bossId) != null)
{ {
bossInstance = RaidBossSpawnManager.getInstance().getBoss(bossId); bossInstance = RaidBossSpawnManager.getInstance().getBoss(bossId);
} }
} }
else if (bossTemplate.type.equals("GrandBoss")) else if (bossTemplate.getType().equals("GrandBoss"))
{ {
if (GrandBossManager.getInstance().getStatsSet(bossId) != null) if (GrandBossManager.getInstance().getStatsSet(bossId) != null)
{ {

View File

@ -277,7 +277,7 @@ public abstract class Summon extends Playable
public int getNpcId() public int getNpcId()
{ {
return getTemplate().npcId; return getTemplate().getNpcId();
} }
@Override @Override

View File

@ -536,7 +536,7 @@ public class CastleChamberlainInstance extends FolkInstance
} }
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); 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("%objectId%", String.valueOf(getObjectId()));
html.replace("%npcname%", getName()); html.replace("%npcname%", getName());
player.sendPacket(html); player.sendPacket(html);

View File

@ -72,7 +72,7 @@ public class ChestInstance extends MonsterInstance
@Override @Override
public void doItemDrop(NpcTemplate npcTemplate, Creature lastAttacker) public void doItemDrop(NpcTemplate npcTemplate, Creature lastAttacker)
{ {
int id = getTemplate().npcId; int id = getTemplate().getNpcId();
if (!_specialDrop) if (!_specialDrop)
{ {
@ -115,7 +115,7 @@ public class ChestInstance extends MonsterInstance
int trapSkillId = 0; int trapSkillId = 0;
final int rnd = Rnd.get(120); final int rnd = Rnd.get(120);
if (getTemplate().level >= 61) if (getTemplate().getLevel() >= 61)
{ {
if (rnd >= 90) if (rnd >= 90)
{ {
@ -134,7 +134,7 @@ public class ChestInstance extends MonsterInstance
trapSkillId = 223; // sting trapSkillId = 223; // sting
} }
} }
else if (getTemplate().level >= 41) else if (getTemplate().getLevel() >= 41)
{ {
if (rnd >= 90) if (rnd >= 90)
{ {
@ -153,7 +153,7 @@ public class ChestInstance extends MonsterInstance
trapSkillId = 4118; // area paralysys trapSkillId = 4118; // area paralysys
} }
} }
else if (getTemplate().level >= 21) else if (getTemplate().getLevel() >= 21)
{ {
if (rnd >= 80) if (rnd >= 80)
{ {
@ -192,7 +192,7 @@ public class ChestInstance extends MonsterInstance
private boolean handleCast(Creature creature, int skillId) private boolean handleCast(Creature creature, int skillId)
{ {
int skillLevel = 1; int skillLevel = 1;
final byte lvl = getTemplate().level; final byte lvl = getTemplate().getLevel();
if ((lvl > 20) && (lvl <= 40)) if ((lvl > 20) && (lvl <= 40))
{ {
skillLevel = 3; skillLevel = 3;

View File

@ -304,7 +304,7 @@ public class CubicInstance
public int getMCriticalHit(Creature target, Skill skill) public int getMCriticalHit(Creature target, Skill skill)
{ {
// TODO: Temporary now mcrit for cubics is the baseMCritRate of its owner // TODO: Temporary now mcrit for cubics is the baseMCritRate of its owner
return _owner.getTemplate().baseMCritRate; return _owner.getTemplate().getBaseMCritRate();
} }
/** /**

View File

@ -257,20 +257,20 @@ public class DoormanInstance extends FolkInstance
public void showMessageWindow(PlayerInstance player) public void showMessageWindow(PlayerInstance player)
{ {
player.sendPacket(ActionFailed.STATIC_PACKET); 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); final int condition = validateCondition(player);
if (condition == COND_BUSY_BECAUSE_OF_SIEGE) 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) 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) 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 // Prepare doorman for clan hall

View File

@ -16,6 +16,8 @@
*/ */
package org.l2jmobius.gameserver.model.actor.instance; package org.l2jmobius.gameserver.model.actor.instance;
import java.util.List;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.datatables.SkillTable; import org.l2jmobius.gameserver.datatables.SkillTable;
import org.l2jmobius.gameserver.datatables.sql.SkillTreeTable; import org.l2jmobius.gameserver.datatables.sql.SkillTreeTable;
@ -36,7 +38,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
*/ */
public class FolkInstance extends NpcInstance public class FolkInstance extends NpcInstance
{ {
private final ClassId[] _classesToTeach; private final List<ClassId> _classesToTeach;
/** /**
* Instantiates a new l2 folk instance. * Instantiates a new l2 folk instance.
@ -63,7 +65,7 @@ public class FolkInstance extends NpcInstance
*/ */
public void showSkillList(PlayerInstance player, ClassId classId) public void showSkillList(PlayerInstance player, ClassId classId)
{ {
final int npcId = getTemplate().npcId; final int npcId = getTemplate().getNpcId();
if (_classesToTeach == null) if (_classesToTeach == null)
{ {
@ -145,7 +147,7 @@ public class FolkInstance extends NpcInstance
*/ */
public void showEnchantSkillList(PlayerInstance player, ClassId classId) public void showEnchantSkillList(PlayerInstance player, ClassId classId)
{ {
final int npcId = getTemplate().npcId; final int npcId = getTemplate().getNpcId();
if (_classesToTeach == null) if (_classesToTeach == null)
{ {
@ -268,7 +270,7 @@ public class FolkInstance extends NpcInstance
} }
// make a list of classes // make a list of classes
if (_classesToTeach.length != 0) if (!_classesToTeach.isEmpty())
{ {
int count = 0; int count = 0;
ClassId classCheck = player.getClassId(); ClassId classCheck = player.getClassId();

View File

@ -69,7 +69,7 @@ public class GourdInstance extends MonsterInstance
{ {
damage = 0; 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)) if ((attacker.getActiveWeaponInstance().getItemId() == 4202) || (attacker.getActiveWeaponInstance().getItemId() == 5133) || (attacker.getActiveWeaponInstance().getItemId() == 5817) || (attacker.getActiveWeaponInstance().getItemId() == 7058))
{ {

View File

@ -203,7 +203,7 @@ public class MerchantInstance extends FolkInstance
*/ */
public void showRentPetWindow(PlayerInstance player) public void showRentPetWindow(PlayerInstance player)
{ {
if (!Config.LIST_PET_RENT_NPC.contains(getTemplate().npcId)) if (!Config.LIST_PET_RENT_NPC.contains(getTemplate().getNpcId()))
{ {
return; return;
} }
@ -316,7 +316,7 @@ public class MerchantInstance extends FolkInstance
html1.append("<tr><td><br></td></tr>"); html1.append("<tr><td><br></td></tr>");
html1.append("<tr><td>Object ID: " + getObjectId() + "</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><br></td></tr>");
html1.append("<tr><td>HP: " + getCurrentHp() + "</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>Class: " + getClass().getName() + "</td></tr>");
html1.append("<tr><td><br></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("<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("<td><button value=\"Delete\" action=\"bypass -h admin_delete\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
html1.append("</table>"); html1.append("</table>");
if (player.isGM()) 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=\"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=\"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\">"); html1.append("<button value=\"Manage items\" action=\"bypass -h npc_" + getObjectId() + "_Lease manage\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");

View File

@ -110,7 +110,7 @@ public class MonsterInstance extends Attackable
@Override @Override
public boolean isAggressive() public boolean isAggressive()
{ {
return (getTemplate().aggroRange > 0) && !isEventMob; return (getTemplate().getAggroRange() > 0) && !isEventMob;
} }
@Override @Override
@ -139,7 +139,7 @@ public class MonsterInstance extends Attackable
{ {
} }
switch (getTemplate().npcId) switch (getTemplate().getNpcId())
{ {
case 12372: // baium case 12372: // baium
{ {

View File

@ -228,14 +228,14 @@ public class NpcInstance extends Creature
initCharStatusUpdateValues(); initCharStatusUpdateValues();
// initialize the "current" equipment // initialize the "current" equipment
_currentLHandId = getTemplate().lhand; _currentLHandId = getTemplate().getLhand();
_currentRHandId = getTemplate().rhand; _currentRHandId = getTemplate().getRhand();
// initialize the "current" collisions // initialize the "current" collisions
_currentCollisionHeight = getTemplate().collisionHeight; _currentCollisionHeight = getTemplate().getCollisionHeight();
_currentCollisionRadius = getTemplate().collisionRadius; _currentCollisionRadius = getTemplate().getCollisionRadius();
// Set the name of the Creature // Set the name of the Creature
setName(template.name); setName(template.getName());
} }
public int getScriptValue() public int getScriptValue()
@ -303,7 +303,7 @@ public class NpcInstance extends Creature
*/ */
public int getNpcId() public int getNpcId()
{ {
return getTemplate().npcId; return getTemplate().getNpcId();
} }
@Override @Override
@ -323,7 +323,7 @@ public class NpcInstance extends Creature
*/ */
public String getFactionId() public String getFactionId()
{ {
return getTemplate().factionId; return getTemplate().getFactionId();
} }
/** /**
@ -334,7 +334,7 @@ public class NpcInstance extends Creature
@Override @Override
public int getLevel() public int getLevel()
{ {
return getTemplate().level; return getTemplate().getLevel();
} }
/** /**
@ -354,7 +354,7 @@ public class NpcInstance extends Creature
*/ */
public int getAggroRange() public int getAggroRange()
{ {
return getTemplate().aggroRange; return getTemplate().getAggroRange();
} }
/** /**
@ -364,7 +364,7 @@ public class NpcInstance extends Creature
*/ */
public int getFactionRange() public int getFactionRange()
{ {
return getTemplate().factionRange; return getTemplate().getFactionRange();
} }
/** /**
@ -375,7 +375,7 @@ public class NpcInstance extends Creature
@Override @Override
public boolean isUndead() public boolean isUndead()
{ {
return getTemplate().isUndead; return getTemplate().isUndead();
} }
/** /**
@ -847,7 +847,7 @@ public class NpcInstance extends Creature
final String className = getClass().getSimpleName(); final String className = getClass().getSimpleName();
html1.append("<br>"); 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) if (this instanceof ControllableMobInstance)
{ {
@ -859,9 +859,9 @@ public class NpcInstance extends Creature
} }
html1.append("<table border=\"0\" width=\"100%\">"); 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>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("</table><br>");
html1.append("<font color=\"LEVEL\">Combat</font>"); 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("<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("</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("<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("<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("</table></center><br>");
html1.append("</body></html>"); 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>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>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>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("</table>");
html1.append("<br><center><font color=\"LEVEL\">[Basic Stats]</font></center>"); html1.append("<br><center><font color=\"LEVEL\">[Basic Stats]</font></center>");
@ -1583,7 +1583,7 @@ public class NpcInstance extends Creature
public Weapon getActiveWeaponItem() public Weapon getActiveWeaponItem()
{ {
// Get the weapon identifier equiped in the right hand of the NpcInstance // 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) if (weaponId < 1)
{ {
@ -1591,7 +1591,7 @@ public class NpcInstance extends Creature
} }
// Get the weapon item equiped in the right hand of the NpcInstance // 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)) if (!(item instanceof Weapon))
{ {
@ -1653,7 +1653,7 @@ public class NpcInstance extends Creature
public Weapon getSecondaryWeaponItem() public Weapon getSecondaryWeaponItem()
{ {
// Get the weapon identifier equiped in the right hand of the NpcInstance // 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) if (weaponId < 1)
{ {
@ -1661,7 +1661,7 @@ public class NpcInstance extends Creature
} }
// Get the weapon item equiped in the right hand of the NpcInstance // 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)) if (!(item instanceof Weapon))
{ {
@ -1878,7 +1878,7 @@ public class NpcInstance extends Creature
// collect awaiting quests and start points // collect awaiting quests and start points
final List<Quest> options = new ArrayList<>(); 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); 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. // 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 // >24 - check lottery ticket by item object id
public void showLotoWindow(PlayerInstance player, int val) public void showLotoWindow(PlayerInstance player, int val)
{ {
final int npcId = getTemplate().npcId; final int npcId = getTemplate().getNpcId();
String filename; String filename;
SystemMessage sm; SystemMessage sm;
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
@ -2207,7 +2207,7 @@ public class NpcInstance extends Creature
*/ */
public void makeCPRecovery(PlayerInstance player) public void makeCPRecovery(PlayerInstance player)
{ {
if ((getTemplate().npcId != 31225) && (getTemplate().npcId != 31226)) if ((getTemplate().getNpcId() != 31225) && (getTemplate().getNpcId() != 31226))
{ {
return; return;
} }
@ -2400,12 +2400,12 @@ public class NpcInstance extends Creature
} }
} }
if ((getTemplate().type == "Auctioneer") && (val == 0)) if ((getTemplate().getType() == "Auctioneer") && (val == 0))
{ {
return; return;
} }
final int npcId = getTemplate().npcId; final int npcId = getTemplate().getNpcId();
/* For use with Seven Signs implementation */ /* For use with Seven Signs implementation */
String filename = SevenSigns.SEVEN_SIGNS_HTML_PATH; String filename = SevenSigns.SEVEN_SIGNS_HTML_PATH;
@ -2913,7 +2913,7 @@ public class NpcInstance extends Creature
public int getExpReward() public int getExpReward()
{ {
final double rateXp = getStat().calcStat(Stats.MAX_HP, 1, this, null); 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() public int getSpReward()
{ {
final double rateSp = getStat().calcStat(Stats.MAX_HP, 1, this, null); 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. // 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; _currentLHandId = getTemplate().getLhand();
_currentRHandId = getTemplate().rhand; _currentRHandId = getTemplate().getRhand();
_currentCollisionHeight = getTemplate().collisionHeight; _currentCollisionHeight = getTemplate().getCollisionHeight();
_currentCollisionRadius = getTemplate().collisionRadius; _currentCollisionRadius = getTemplate().getCollisionRadius();
DecayTaskManager.getInstance().addDecayTask(this); DecayTaskManager.getInstance().addDecayTask(this);
return true; return true;
} }
@ -3073,7 +3073,7 @@ public class NpcInstance extends Creature
@Override @Override
public String toString() public String toString()
{ {
return getTemplate().name; return getTemplate().getName();
} }
/** /**

View File

@ -81,7 +81,7 @@ public class PetInstance extends Summon
{ {
if (_data == null) if (_data == null)
{ {
_data = PetDataTable.getInstance().getPetData(getTemplate().npcId, getStat().getLevel()); _data = PetDataTable.getInstance().getPetData(getTemplate().getNpcId(), getStat().getLevel());
} }
return _data; return _data;
@ -143,7 +143,7 @@ public class PetInstance extends Summon
getOwner().sendMessage("Your pet is too hungry to stay summoned."); 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) if (foodId == 0)
{ {
return; return;
@ -221,18 +221,18 @@ public class PetInstance extends Summon
// Hatcling : Level 35 // Hatcling : Level 35
// Tested and confirmed on official servers // Tested and confirmed on official servers
// Sin-eaters are defaulted at the owner's level // Sin-eaters are defaulted at the owner's level
if (template.npcId == 12564) if (template.getNpcId() == 12564)
{ {
getStat().setLevel((byte) getOwner().getLevel()); getStat().setLevel((byte) getOwner().getLevel());
} }
else else
{ {
getStat().setLevel(template.level); getStat().setLevel(template.getLevel());
} }
_inventory = new PetInventory(this); _inventory = new PetInventory(this);
final int npcId = template.npcId; final int npcId = template.getNpcId();
_mountable = PetDataTable.isMountable(npcId); _mountable = PetDataTable.isMountable(npcId);
} }
@ -845,7 +845,7 @@ public class PetInstance extends Summon
try (Connection con = DatabaseFactory.getConnection()) 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); pet = new BabyPetInstance(IdFactory.getInstance().getNextId(), template, owner, control);
} }

View File

@ -2867,7 +2867,7 @@ public class PlayerInstance extends Playable
*/ */
public ClassId getClassId() public ClassId getClassId()
{ {
return getTemplate().classId; return getTemplate().getClassId();
} }
/** /**
@ -3212,9 +3212,9 @@ public class PlayerInstance extends Playable
{ {
if (!isSubClassActive()) 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.setInt(31, getAppearance().isFemale() ? 1 : 0);
statement.setDouble(32, 1/* getMovementMultiplier() */); statement.setDouble(32, 1/* getMovementMultiplier() */);
statement.setDouble(33, 1/* getAttackSpeedMultiplier() */); statement.setDouble(33, 1/* getAttackSpeedMultiplier() */);
statement.setDouble(34, getTemplate().collisionRadius/* getCollisionRadius() */); statement.setDouble(34, getTemplate().getCollisionRadius());
statement.setDouble(35, getTemplate().collisionHeight/* getCollisionHeight() */); statement.setDouble(35, getTemplate().getCollisionHeight());
statement.setLong(36, getExp()); statement.setLong(36, getExp());
statement.setInt(37, getSp()); statement.setInt(37, getSp());
statement.setInt(38, getKarma()); statement.setInt(38, getKarma());
@ -10945,7 +10945,7 @@ public class PlayerInstance extends Playable
// Calculate the distance between the PlayerInstance and the target // Calculate the distance between the PlayerInstance and the target
if (sklTargetType == SkillTargetType.TARGET_GROUND) 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 // Send a System Message to the caster
sendPacket(SystemMessageId.TARGET_TOO_FAR); sendPacket(SystemMessageId.TARGET_TOO_FAR);
@ -10955,7 +10955,7 @@ public class PlayerInstance extends Playable
return; 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 // Send a System Message to the caster
sendPacket(SystemMessageId.TARGET_TOO_FAR); sendPacket(SystemMessageId.TARGET_TOO_FAR);
@ -10966,7 +10966,7 @@ public class PlayerInstance extends Playable
} }
} }
// Check range for SIGNET skills // 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 // Send a System Message to the caster
sendPacket(SystemMessageId.TARGET_TOO_FAR); sendPacket(SystemMessageId.TARGET_TOO_FAR);

View File

@ -298,7 +298,7 @@ public class RaceManagerInstance extends NpcInstance
{ {
return; return;
} }
final int npcId = getTemplate().npcId; final int npcId = getTemplate().getNpcId();
String filename; String filename;
String search; String search;
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
@ -308,7 +308,7 @@ public class RaceManagerInstance extends NpcInstance
{ {
final int n = i + 1; final int n = i + 1;
search = "Mob" + n; 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("1race", String.valueOf(_raceNumber));
html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%objectId%", String.valueOf(getObjectId()));
@ -318,7 +318,7 @@ public class RaceManagerInstance extends NpcInstance
public void showMonsterInfo(PlayerInstance player) public void showMonsterInfo(PlayerInstance player)
{ {
final int npcId = getTemplate().npcId; final int npcId = getTemplate().getNpcId();
String filename; String filename;
String search; String search;
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
@ -328,7 +328,7 @@ public class RaceManagerInstance extends NpcInstance
{ {
final int n = i + 1; final int n = i + 1;
search = "Mob" + n; 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())); html.replace("%objectId%", String.valueOf(getObjectId()));
player.sendPacket(html); player.sendPacket(html);
@ -341,7 +341,7 @@ public class RaceManagerInstance extends NpcInstance
{ {
return; return;
} }
final int npcId = getTemplate().npcId; final int npcId = getTemplate().getNpcId();
SystemMessage sm; SystemMessage sm;
String filename; String filename;
String search; String search;
@ -355,7 +355,7 @@ public class RaceManagerInstance extends NpcInstance
{ {
final int n = i + 1; final int n = i + 1;
search = "Mob" + n; search = "Mob" + n;
html.replace(search, MonsterRace.getInstance().getMonsters()[i].getTemplate().name); html.replace(search, MonsterRace.getInstance().getMonsters()[i].getTemplate().getName());
} }
search = "No1"; search = "No1";
if (val == 0) if (val == 0)
@ -378,7 +378,7 @@ public class RaceManagerInstance extends NpcInstance
html.setFile(filename); html.setFile(filename);
html.replace("0place", "" + player.getRace(0)); html.replace("0place", "" + player.getRace(0));
search = "Mob1"; 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); html.replace(search, replace);
search = "0adena"; search = "0adena";
if (val == 10) if (val == 10)
@ -401,7 +401,7 @@ public class RaceManagerInstance extends NpcInstance
html.setFile(filename); html.setFile(filename);
html.replace("0place", "" + player.getRace(0)); html.replace("0place", "" + player.getRace(0));
search = "Mob1"; 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); html.replace(search, replace);
search = "0adena"; search = "0adena";
final int price = _cost[player.getRace(1) - 1]; final int price = _cost[player.getRace(1) - 1];

View File

@ -79,7 +79,7 @@ public class SiegeNpcInstance extends FolkInstance
if (siege.getIsInProgress()) if (siege.getIsInProgress())
{ {
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); 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("%castlename%", getCastle().getName());
html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%objectId%", String.valueOf(getObjectId()));
player.sendPacket(html); player.sendPacket(html);

View File

@ -95,7 +95,7 @@ public class SummonInstance extends Summon
@Override @Override
public int getLevel() public int getLevel()
{ {
return getTemplate() != null ? getTemplate().level : 0; return getTemplate() != null ? getTemplate().getLevel() : 0;
} }
@Override @Override
@ -181,7 +181,7 @@ public class SummonInstance extends Summon
if (attacker instanceof NpcInstance) if (attacker instanceof NpcInstance)
{ {
sm.addNpcName(((NpcInstance) attacker).getTemplate().npcId); sm.addNpcName(((NpcInstance) attacker).getTemplate().getNpcId());
} }
else else
{ {

View File

@ -79,7 +79,7 @@ public class TeleporterInstance extends FolkInstance
if (actualCommand.equalsIgnoreCase("goto")) if (actualCommand.equalsIgnoreCase("goto"))
{ {
final int npcId = getTemplate().npcId; final int npcId = getTemplate().getNpcId();
switch (npcId) switch (npcId)
{ {

View File

@ -153,7 +153,7 @@ public class CreatureStat
return 1; 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 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; 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; criticalHit /= 10;
@ -218,7 +218,7 @@ public class CreatureStat
return 1; 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 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 1;
} }
return _creature.getTemplate().baseAtkRange; return _creature.getTemplate().getBaseAtkRange();
} }
/** /**
@ -317,7 +317,7 @@ public class CreatureStat
return 1; 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 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 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; 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. // 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(); final Stats stat = skill == null ? null : skill.getStat();
@ -384,72 +384,72 @@ public class CreatureStat
{ {
case AGGRESSION: case AGGRESSION:
{ {
attack += _creature.getTemplate().baseAggression; attack += _creature.getTemplate().getBaseAggression();
break; break;
} }
case BLEED: case BLEED:
{ {
attack += _creature.getTemplate().baseBleed; attack += _creature.getTemplate().getBaseBleed();
break; break;
} }
case POISON: case POISON:
{ {
attack += _creature.getTemplate().basePoison; attack += _creature.getTemplate().getBasePoison();
break; break;
} }
case STUN: case STUN:
{ {
attack += _creature.getTemplate().baseStun; attack += _creature.getTemplate().getBaseStun();
break; break;
} }
case ROOT: case ROOT:
{ {
attack += _creature.getTemplate().baseRoot; attack += _creature.getTemplate().getBaseRoot();
break; break;
} }
case MOVEMENT: case MOVEMENT:
{ {
attack += _creature.getTemplate().baseMovement; attack += _creature.getTemplate().getBaseMovement();
break; break;
} }
case CONFUSION: case CONFUSION:
{ {
attack += _creature.getTemplate().baseConfusion; attack += _creature.getTemplate().getBaseConfusion();
break; break;
} }
case SLEEP: case SLEEP:
{ {
attack += _creature.getTemplate().baseSleep; attack += _creature.getTemplate().getBaseSleep();
break; break;
} }
case FIRE: case FIRE:
{ {
attack += _creature.getTemplate().baseFire; attack += _creature.getTemplate().getBaseFire();
break; break;
} }
case WIND: case WIND:
{ {
attack += _creature.getTemplate().baseWind; attack += _creature.getTemplate().getBaseWind();
break; break;
} }
case WATER: case WATER:
{ {
attack += _creature.getTemplate().baseWater; attack += _creature.getTemplate().getBaseWater();
break; break;
} }
case EARTH: case EARTH:
{ {
attack += _creature.getTemplate().baseEarth; attack += _creature.getTemplate().getBaseEarth();
break; break;
} }
case HOLY: case HOLY:
{ {
attack += _creature.getTemplate().baseHoly; attack += _creature.getTemplate().getBaseHoly();
break; break;
} }
case DARK: case DARK:
{ {
attack += _creature.getTemplate().baseDark; attack += _creature.getTemplate().getBaseDark();
break; break;
} }
} }
@ -483,7 +483,7 @@ public class CreatureStat
bonusSpdAtk = Config.L2JMOD_CHAMPION_SPD_ATK; 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(); val /= _creature.getArmourExpertisePenalty();
@ -508,7 +508,7 @@ public class CreatureStat
return 1; 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) if (mrate > Config.MAX_MCRIT_RATE)
{ {
@ -536,7 +536,7 @@ public class CreatureStat
} }
// Get the base MDef of the Creature // Get the base MDef of the Creature
double defence = _creature.getTemplate().baseMDef; double defence = _creature.getTemplate().getBaseMDef();
// Calculate modifier for Raid Bosses // Calculate modifier for Raid Bosses
if (_creature.isRaid()) if (_creature.isRaid())
@ -559,7 +559,7 @@ public class CreatureStat
return 1; 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 1;
} }
return Math.max(1, getRunSpeed() / _creature.getTemplate().baseRunSpd); return Math.max(1, getRunSpeed() / _creature.getTemplate().getBaseRunSpd());
} }
public void setGmSpeedMultiplier(float multipier) public void setGmSpeedMultiplier(float multipier)
@ -612,7 +612,7 @@ public class CreatureStat
return 1; 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 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; 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; 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(); val /= _creature.getArmourExpertisePenalty();
@ -835,7 +835,7 @@ public class CreatureStat
} }
// Get the base PDef of the Creature // Get the base PDef of the Creature
double defence = _creature.getTemplate().basePDef; double defence = _creature.getTemplate().getBasePDef();
// Calculate modifier for Raid Bosses // Calculate modifier for Raid Bosses
if (_creature.isRaid()) if (_creature.isRaid())
@ -857,7 +857,7 @@ public class CreatureStat
{ {
return 1; 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 // 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)) if (_creature.isInsideZone(ZoneId.WATER))
{ {
val /= 2; val /= 2;
@ -947,7 +947,7 @@ public class CreatureStat
return 1; 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 (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 1;
} }
return (int) calcStat(Stats.STAT_WIT, _creature.getTemplate().baseWIT, null, null); return (int) calcStat(Stats.STAT_WIT, _creature.getTemplate().getBaseWIT(), null, null);
} }
/** /**

View File

@ -25,7 +25,7 @@ public class NpcStat extends CreatureStat
{ {
super(activeChar); super(activeChar);
setLevel(getActiveChar().getTemplate().level); setLevel(getActiveChar().getTemplate().getLevel());
} }
@Override @Override
@ -37,6 +37,6 @@ public class NpcStat extends CreatureStat
@Override @Override
public int getMaxHp() 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);
} }
} }

View File

@ -132,7 +132,7 @@ public class PetStat extends SummonStat
getActiveChar().stopFeed(); getActiveChar().stopFeed();
super.setLevel(value); super.setLevel(value);
getActiveChar().setPetData(PetDataTable.getInstance().getPetData(getActiveChar().getTemplate().npcId, getLevel())); getActiveChar().setPetData(PetDataTable.getInstance().getPetData(getActiveChar().getTemplate().getNpcId(), getLevel()));
getActiveChar().startFeed(false); getActiveChar().startFeed(false);
if (getActiveChar().getControlItem() != null) if (getActiveChar().getControlItem() != null)
@ -170,72 +170,72 @@ public class PetStat extends SummonStat
{ {
case AGGRESSION: case AGGRESSION:
{ {
attack += getActiveChar().getTemplate().baseAggression; attack += getActiveChar().getTemplate().getBaseAggression();
break; break;
} }
case BLEED: case BLEED:
{ {
attack += getActiveChar().getTemplate().baseBleed; attack += getActiveChar().getTemplate().getBaseBleed();
break; break;
} }
case POISON: case POISON:
{ {
attack += getActiveChar().getTemplate().basePoison; attack += getActiveChar().getTemplate().getBasePoison();
break; break;
} }
case STUN: case STUN:
{ {
attack += getActiveChar().getTemplate().baseStun; attack += getActiveChar().getTemplate().getBaseStun();
break; break;
} }
case ROOT: case ROOT:
{ {
attack += getActiveChar().getTemplate().baseRoot; attack += getActiveChar().getTemplate().getBaseRoot();
break; break;
} }
case MOVEMENT: case MOVEMENT:
{ {
attack += getActiveChar().getTemplate().baseMovement; attack += getActiveChar().getTemplate().getBaseMovement();
break; break;
} }
case CONFUSION: case CONFUSION:
{ {
attack += getActiveChar().getTemplate().baseConfusion; attack += getActiveChar().getTemplate().getBaseConfusion();
break; break;
} }
case SLEEP: case SLEEP:
{ {
attack += getActiveChar().getTemplate().baseSleep; attack += getActiveChar().getTemplate().getBaseSleep();
break; break;
} }
case FIRE: case FIRE:
{ {
attack += getActiveChar().getTemplate().baseFire; attack += getActiveChar().getTemplate().getBaseFire();
break; break;
} }
case WIND: case WIND:
{ {
attack += getActiveChar().getTemplate().baseWind; attack += getActiveChar().getTemplate().getBaseWind();
break; break;
} }
case WATER: case WATER:
{ {
attack += getActiveChar().getTemplate().baseWater; attack += getActiveChar().getTemplate().getBaseWater();
break; break;
} }
case EARTH: case EARTH:
{ {
attack += getActiveChar().getTemplate().baseEarth; attack += getActiveChar().getTemplate().getBaseEarth();
break; break;
} }
case HOLY: case HOLY:
{ {
attack += getActiveChar().getTemplate().baseHoly; attack += getActiveChar().getTemplate().getBaseHoly();
break; break;
} }
case DARK: case DARK:
{ {
attack += getActiveChar().getTemplate().baseDark; attack += getActiveChar().getTemplate().getBaseDark();
break; break;
} }
} }

View File

@ -54,7 +54,7 @@ public class PetStatus extends SummonStatus
if (attacker instanceof NpcInstance) if (attacker instanceof NpcInstance)
{ {
sm.addNpcName(((NpcInstance) attacker).getTemplate().idTemplate); sm.addNpcName(((NpcInstance) attacker).getTemplate().getIdTemplate());
} }
else else
{ {

View File

@ -155,11 +155,11 @@ public class PlayerStatus extends PlayableStatus
if (attacker instanceof NpcInstance) if (attacker instanceof NpcInstance)
{ {
smsg.addNpcName(((NpcInstance) attacker).getTemplate().idTemplate); smsg.addNpcName(((NpcInstance) attacker).getTemplate().getIdTemplate());
} }
else if (attacker instanceof Summon) else if (attacker instanceof Summon)
{ {
smsg.addNpcName(((Summon) attacker).getTemplate().idTemplate); smsg.addNpcName(((Summon) attacker).getTemplate().getIdTemplate());
} }
else else
{ {

View File

@ -18,153 +18,450 @@ package org.l2jmobius.gameserver.model.actor.templates;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
/**
* @version $Revision: 1.2.4.6 $ $Date: 2005/04/02 15:57:51 $
*/
public class CreatureTemplate public class CreatureTemplate
{ {
// BaseStats // BaseStats
public int baseSTR; private final int _baseSTR;
public int baseCON; private final int _baseCON;
public int baseDEX; private final int _baseDEX;
public int baseINT; private final int _baseINT;
public int baseWIT; private final int _baseWIT;
public int baseMEN; private final int _baseMEN;
public float baseHpMax; private final float _baseHpMax;
public float baseCpMax; private final float _baseCpMax;
public float baseMpMax; private final float _baseMpMax;
/** HP Regen base */ /** HP Regen base */
public float baseHpReg; private final float _baseHpReg;
/** MP Regen base */ /** MP Regen base */
public float baseMpReg; private final float _baseMpReg;
public int basePAtk; private final int _basePAtk;
public int baseMAtk; private final int _baseMAtk;
public int basePDef; private final int _basePDef;
public int baseMDef; private final int _baseMDef;
public int basePAtkSpd; private final int _basePAtkSpd;
public int baseMAtkSpd; private final int _baseMAtkSpd;
public float baseMReuseRate; private final float _baseMReuseRate;
public int baseShldDef; private final int _baseShldDef;
public int baseAtkRange; private final int _baseAtkRange;
public int baseShldRate; private final int _baseShldRate;
public int baseCritRate; private final int _baseCritRate;
public int baseMCritRate; private final int _baseMCritRate;
public int baseWalkSpd; private final int _baseWalkSpd;
public int baseRunSpd; private final int _baseRunSpd;
// SpecialStats // SpecialStats
public int baseBreath; private final int _baseBreath;
public int baseAggression; private final int _baseAggression;
public int baseBleed; private final int _baseBleed;
public int basePoison; private final int _basePoison;
public int baseStun; private final int _baseStun;
public int baseRoot; private final int _baseRoot;
public int baseMovement; private final int _baseMovement;
public int baseConfusion; private final int _baseConfusion;
public int baseSleep; private final int _baseSleep;
public int baseFire; private final int _baseFire;
public int baseWind; private final int _baseWind;
public int baseWater; private final int _baseWater;
public int baseEarth; private final int _baseEarth;
public int baseHoly; private final int _baseHoly;
public int baseDark; private final int _baseDark;
public double baseAggressionVuln; private final double _baseAggressionVuln;
public double baseBleedVuln; private final double _baseBleedVuln;
public double basePoisonVuln; private final double _basePoisonVuln;
public double baseStunVuln; private final double _baseStunVuln;
public double baseRootVuln; private final double _baseRootVuln;
public double baseMovementVuln; private final double _baseMovementVuln;
public double baseConfusionVuln; private final double _baseConfusionVuln;
public double baseSleepVuln; private final double _baseSleepVuln;
public double baseFireVuln; private final double _baseFireVuln;
public double baseWindVuln; private final double _baseWindVuln;
public double baseWaterVuln; private final double _baseWaterVuln;
public double baseEarthVuln; private final double _baseEarthVuln;
public double baseHolyVuln; private final double _baseHolyVuln;
public double baseDarkVuln; private final double _baseDarkVuln;
public double baseCritVuln; private final double _baseCritVuln;
public boolean isUndead; private final boolean _isUndead;
// C4 Stats // C4 Stats
public int baseMpConsumeRate; private final int _baseMpConsumeRate;
public int baseHpConsumeRate; private final int _baseHpConsumeRate;
public int collisionRadius; private final int _collisionRadius;
public int collisionHeight; private final int _collisionHeight;
public CreatureTemplate(StatsSet set) public CreatureTemplate(StatsSet set)
{ {
// Base stats // Base stats
baseSTR = set.getInt("baseSTR"); _baseSTR = set.getInt("baseSTR");
baseCON = set.getInt("baseCON"); _baseCON = set.getInt("baseCON");
baseDEX = set.getInt("baseDEX"); _baseDEX = set.getInt("baseDEX");
baseINT = set.getInt("baseINT"); _baseINT = set.getInt("baseINT");
baseWIT = set.getInt("baseWIT"); _baseWIT = set.getInt("baseWIT");
baseMEN = set.getInt("baseMEN"); _baseMEN = set.getInt("baseMEN");
baseHpMax = set.getFloat("baseHpMax"); _baseHpMax = set.getFloat("baseHpMax");
baseCpMax = set.getFloat("baseCpMax"); _baseCpMax = set.getFloat("baseCpMax");
baseMpMax = set.getFloat("baseMpMax"); _baseMpMax = set.getFloat("baseMpMax");
baseHpReg = set.getFloat("baseHpReg"); _baseHpReg = set.getFloat("baseHpReg");
baseMpReg = set.getFloat("baseMpReg"); _baseMpReg = set.getFloat("baseMpReg");
basePAtk = set.getInt("basePAtk"); _basePAtk = set.getInt("basePAtk");
baseMAtk = set.getInt("baseMAtk"); _baseMAtk = set.getInt("baseMAtk");
basePDef = set.getInt("basePDef"); _basePDef = set.getInt("basePDef");
baseMDef = set.getInt("baseMDef"); _baseMDef = set.getInt("baseMDef");
basePAtkSpd = set.getInt("basePAtkSpd"); _basePAtkSpd = set.getInt("basePAtkSpd");
baseMAtkSpd = set.getInt("baseMAtkSpd"); _baseMAtkSpd = set.getInt("baseMAtkSpd");
baseMReuseRate = set.getFloat("baseMReuseDelay", 1.f); _baseMReuseRate = set.getFloat("baseMReuseDelay", 1.f);
baseShldDef = set.getInt("baseShldDef"); _baseShldDef = set.getInt("baseShldDef");
baseAtkRange = set.getInt("baseAtkRange"); _baseAtkRange = set.getInt("baseAtkRange");
baseShldRate = set.getInt("baseShldRate"); _baseShldRate = set.getInt("baseShldRate");
baseCritRate = set.getInt("baseCritRate"); _baseCritRate = set.getInt("baseCritRate");
baseMCritRate = set.getInt("baseMCritRate", 5); _baseMCritRate = set.getInt("baseMCritRate", 5);
baseWalkSpd = set.getInt("baseWalkSpd"); _baseWalkSpd = set.getInt("baseWalkSpd");
baseRunSpd = set.getInt("baseRunSpd"); _baseRunSpd = set.getInt("baseRunSpd");
// SpecialStats // SpecialStats
baseBreath = set.getInt("baseBreath", 100); _baseBreath = set.getInt("baseBreath", 100);
baseAggression = set.getInt("baseAggression", 0); _baseAggression = set.getInt("baseAggression", 0);
baseBleed = set.getInt("baseBleed", 0); _baseBleed = set.getInt("baseBleed", 0);
basePoison = set.getInt("basePoison", 0); _basePoison = set.getInt("basePoison", 0);
baseStun = set.getInt("baseStun", 0); _baseStun = set.getInt("baseStun", 0);
baseRoot = set.getInt("baseRoot", 0); _baseRoot = set.getInt("baseRoot", 0);
baseMovement = set.getInt("baseMovement", 0); _baseMovement = set.getInt("baseMovement", 0);
baseConfusion = set.getInt("baseConfusion", 0); _baseConfusion = set.getInt("baseConfusion", 0);
baseSleep = set.getInt("baseSleep", 0); _baseSleep = set.getInt("baseSleep", 0);
baseFire = set.getInt("baseFire", 0); _baseFire = set.getInt("baseFire", 0);
baseWind = set.getInt("baseWind", 0); _baseWind = set.getInt("baseWind", 0);
baseWater = set.getInt("baseWater", 0); _baseWater = set.getInt("baseWater", 0);
baseEarth = set.getInt("baseEarth", 0); _baseEarth = set.getInt("baseEarth", 0);
baseHoly = set.getInt("baseHoly", 0); _baseHoly = set.getInt("baseHoly", 0);
baseDark = set.getInt("baseDark", 0); _baseDark = set.getInt("baseDark", 0);
baseAggressionVuln = set.getInt("baseAaggressionVuln", 1); _baseAggressionVuln = set.getInt("baseAaggressionVuln", 1);
baseBleedVuln = set.getInt("baseBleedVuln", 1); _baseBleedVuln = set.getInt("baseBleedVuln", 1);
basePoisonVuln = set.getInt("basePoisonVuln", 1); _basePoisonVuln = set.getInt("basePoisonVuln", 1);
baseStunVuln = set.getInt("baseStunVuln", 1); _baseStunVuln = set.getInt("baseStunVuln", 1);
baseRootVuln = set.getInt("baseRootVuln", 1); _baseRootVuln = set.getInt("baseRootVuln", 1);
baseMovementVuln = set.getInt("baseMovementVuln", 1); _baseMovementVuln = set.getInt("baseMovementVuln", 1);
baseConfusionVuln = set.getInt("baseConfusionVuln", 1); _baseConfusionVuln = set.getInt("baseConfusionVuln", 1);
baseSleepVuln = set.getInt("baseSleepVuln", 1); _baseSleepVuln = set.getInt("baseSleepVuln", 1);
baseFireVuln = set.getInt("baseFireVuln", 1); _baseFireVuln = set.getInt("baseFireVuln", 1);
baseWindVuln = set.getInt("baseWindVuln", 1); _baseWindVuln = set.getInt("baseWindVuln", 1);
baseWaterVuln = set.getInt("baseWaterVuln", 1); _baseWaterVuln = set.getInt("baseWaterVuln", 1);
baseEarthVuln = set.getInt("baseEarthVuln", 1); _baseEarthVuln = set.getInt("baseEarthVuln", 1);
baseHolyVuln = set.getInt("baseHolyVuln", 1); _baseHolyVuln = set.getInt("baseHolyVuln", 1);
baseDarkVuln = set.getInt("baseDarkVuln", 1); _baseDarkVuln = set.getInt("baseDarkVuln", 1);
baseCritVuln = set.getInt("baseCritVuln", 1); _baseCritVuln = set.getInt("baseCritVuln", 1);
isUndead = set.getInt("isUndead", 0) == 1; _isUndead = set.getInt("isUndead", 0) == 1;
// C4 Stats // C4 Stats
baseMpConsumeRate = set.getInt("baseMpConsumeRate", 0); _baseMpConsumeRate = set.getInt("baseMpConsumeRate", 0);
baseHpConsumeRate = set.getInt("baseHpConsumeRate", 0); _baseHpConsumeRate = set.getInt("baseHpConsumeRate", 0);
// Geometry // Geometry
collisionRadius = set.getInt("collision_radius"); _collisionRadius = set.getInt("collision_radius");
collisionHeight = set.getInt("collision_height"); _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;
} }
} }

View File

@ -56,26 +56,26 @@ public class NpcTemplate extends CreatureTemplate
{ {
protected static final Logger LOGGER = Logger.getLogger(NpcTemplate.class.getName()); protected static final Logger LOGGER = Logger.getLogger(NpcTemplate.class.getName());
public int npcId; private final int _npcId;
public int idTemplate; private final int _idTemplate;
public String type; private final String _type;
public String name; private final String _name;
public boolean serverSideName; private final boolean _serverSideName;
public String title; private final String _title;
public boolean serverSideTitle; private final boolean _serverSideTitle;
public String sex; private final String _sex;
public byte level; private final byte _level;
public int rewardExp; private final int _rewardExp;
public int rewardSp; private final int _rewardSp;
public int aggroRange; private final int _aggroRange;
public int rhand; private final int _rhand;
public int lhand; private final int _lhand;
public int armor; private final int _armor;
public String factionId; private final int _absorbLevel;
public int factionRange; private final AbsorbCrystalType _absorbType;
public int absorbLevel; private String _factionId;
public AbsorbCrystalType absorbType; private final int _factionRange;
public Race race; private Race _race;
private final boolean _custom; private final boolean _custom;
@ -129,41 +129,40 @@ public class NpcTemplate extends CreatureTemplate
private final Map<EventType, List<Quest>> _questEvents = new EnumMap<>(EventType.class); private final Map<EventType, List<Quest>> _questEvents = new EnumMap<>(EventType.class);
/** /**
* Constructor of Creature.<BR> * Constructor of Creature.
* <BR>
* @param set The StatsSet object to transfer data to the method * @param set The StatsSet object to transfer data to the method
* @param custom * @param custom
*/ */
public NpcTemplate(StatsSet set, boolean custom) public NpcTemplate(StatsSet set, boolean custom)
{ {
super(set); super(set);
npcId = set.getInt("npcId"); _npcId = set.getInt("npcId");
idTemplate = set.getInt("idTemplate"); _idTemplate = set.getInt("idTemplate");
type = set.getString("type"); _type = set.getString("type");
name = set.getString("name"); _name = set.getString("name");
serverSideName = set.getBoolean("serverSideName"); _serverSideName = set.getBoolean("serverSideName");
title = set.getString("title"); _title = set.getString("title");
serverSideTitle = set.getBoolean("serverSideTitle"); _serverSideTitle = set.getBoolean("serverSideTitle");
sex = set.getString("sex"); _sex = set.getString("sex");
level = set.getByte("level"); _level = set.getByte("level");
rewardExp = set.getInt("rewardExp"); _rewardExp = set.getInt("rewardExp");
rewardSp = set.getInt("rewardSp"); _rewardSp = set.getInt("rewardSp");
aggroRange = set.getInt("aggroRange"); _aggroRange = set.getInt("aggroRange");
rhand = set.getInt("rhand"); _rhand = set.getInt("rhand");
lhand = set.getInt("lhand"); _lhand = set.getInt("lhand");
armor = set.getInt("armor"); _armor = set.getInt("armor");
_absorbLevel = set.getInt("absorb_level", 0);
_absorbType = AbsorbCrystalType.valueOf(set.getString("absorb_type"));
final String f = set.getString("factionId", null); final String f = set.getString("factionId", null);
if (f == null) if (f == null)
{ {
factionId = null; setFactionId(null);
} }
else else
{ {
factionId = f.intern(); setFactionId(f.intern());
} }
factionRange = set.getInt("factionRange", 0); _factionRange = set.getInt("factionRange", 0);
absorbLevel = set.getInt("absorb_level", 0);
absorbType = AbsorbCrystalType.valueOf(set.getString("absorb_type"));
_npcStatsSet = set; _npcStatsSet = set;
_custom = custom; _custom = custom;
} }
@ -173,9 +172,9 @@ public class NpcTemplate extends CreatureTemplate
_teachInfo.add(classId); _teachInfo.add(classId);
} }
public ClassId[] getTeachInfo() public List<ClassId> getTeachInfo()
{ {
return _teachInfo.toArray(new ClassId[_teachInfo.size()]); return _teachInfo;
} }
public boolean canTeach(ClassId classId) 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 the category exists, add the drop to this category.
if (cat.getCategoryType() == categoryType) if (cat.getCategoryType() == categoryType)
{ {
cat.addDropData(drop, type.equalsIgnoreCase("RaidBoss") || type.equalsIgnoreCase("GrandBoss")); cat.addDropData(drop, _type.equalsIgnoreCase("RaidBoss") || _type.equalsIgnoreCase("GrandBoss"));
catExists = true; catExists = true;
break; break;
} }
@ -209,7 +208,7 @@ public class NpcTemplate extends CreatureTemplate
if (!catExists) if (!catExists)
{ {
final DropCategory cat = new DropCategory(categoryType); 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); _categories.add(cat);
} }
} }
@ -230,6 +229,11 @@ public class NpcTemplate extends CreatureTemplate
_vulnerabilities.put(id, vuln); _vulnerabilities.put(id, vuln);
} }
public String getType()
{
return _type;
}
public double getVulnerability(Stats id) public double getVulnerability(Stats id)
{ {
if (_vulnerabilities.get(id) == null) 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> * Return the list of all possible UNCATEGORIZED drops of this NpcTemplate.
* <BR>
* @return * @return
*/ */
public List<DropCategory> getDropData() 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> * Return the list of all possible item drops of this NpcTemplate.<BR>
* (ie full drops and part drops, mats, miscellaneous & UNCATEGORIZED)<BR> * (ie full drops and part drops, mats, miscellaneous & UNCATEGORIZED)<BR>
* <BR>
* @return * @return
*/ */
public List<DropData> getAllDropData() public List<DropData> getAllDropData()
@ -321,7 +323,7 @@ public class NpcTemplate extends CreatureTemplate
} }
else 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 else
@ -362,122 +364,122 @@ public class NpcTemplate extends CreatureTemplate
{ {
case 1: case 1:
{ {
race = Race.UNDEAD; _race = Race.UNDEAD;
break; break;
} }
case 2: case 2:
{ {
race = Race.MAGICCREATURE; _race = Race.MAGICCREATURE;
break; break;
} }
case 3: case 3:
{ {
race = Race.BEAST; _race = Race.BEAST;
break; break;
} }
case 4: case 4:
{ {
race = Race.ANIMAL; _race = Race.ANIMAL;
break; break;
} }
case 5: case 5:
{ {
race = Race.PLANT; _race = Race.PLANT;
break; break;
} }
case 6: case 6:
{ {
race = Race.HUMANOID; _race = Race.HUMANOID;
break; break;
} }
case 7: case 7:
{ {
race = Race.SPIRIT; _race = Race.SPIRIT;
break; break;
} }
case 8: case 8:
{ {
race = Race.ANGEL; _race = Race.ANGEL;
break; break;
} }
case 9: case 9:
{ {
race = Race.DEMON; _race = Race.DEMON;
break; break;
} }
case 10: case 10:
{ {
race = Race.DRAGON; _race = Race.DRAGON;
break; break;
} }
case 11: case 11:
{ {
race = Race.GIANT; _race = Race.GIANT;
break; break;
} }
case 12: case 12:
{ {
race = Race.BUG; _race = Race.BUG;
break; break;
} }
case 13: case 13:
{ {
race = Race.FAIRIE; _race = Race.FAIRIE;
break; break;
} }
case 14: case 14:
{ {
race = Race.HUMAN; _race = Race.HUMAN;
break; break;
} }
case 15: case 15:
{ {
race = Race.ELVE; _race = Race.ELVE;
break; break;
} }
case 16: case 16:
{ {
race = Race.DARKELVE; _race = Race.DARKELVE;
break; break;
} }
case 17: case 17:
{ {
race = Race.ORC; _race = Race.ORC;
break; break;
} }
case 18: case 18:
{ {
race = Race.DWARVE; _race = Race.DWARVE;
break; break;
} }
case 19: case 19:
{ {
race = Race.OTHER; _race = Race.OTHER;
break; break;
} }
case 20: case 20:
{ {
race = Race.NONLIVING; _race = Race.NONLIVING;
break; break;
} }
case 21: case 21:
{ {
race = Race.SIEGEWEAPON; _race = Race.SIEGEWEAPON;
break; break;
} }
case 22: case 22:
{ {
race = Race.DEFENDINGARMY; _race = Race.DEFENDINGARMY;
break; break;
} }
case 23: case 23:
{ {
race = Race.MERCENARIE; _race = Race.MERCENARIE;
break; break;
} }
default: default:
{ {
race = Race.UNKNOWN; _race = Race.UNKNOWN;
break; break;
} }
} }
@ -485,36 +487,106 @@ public class NpcTemplate extends CreatureTemplate
public Race getRace() 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() public byte getLevel()
{ {
return level; return _level;
} }
/**
* @return the name
*/
public String getName() public String getName()
{ {
return name; return _name;
} }
/**
* @return the npcId
*/
public int getNpcId() 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() public boolean isCustom()

View File

@ -31,47 +31,47 @@ import org.l2jmobius.gameserver.model.items.Item;
public class PlayerTemplate extends CreatureTemplate public class PlayerTemplate extends CreatureTemplate
{ {
/** The Class object of the PlayerInstance */ /** The Class object of the PlayerInstance */
public Race race; private final Race _race;
public ClassId classId; private final ClassId _classId;
public int _currentCollisionRadius; private final int _currentCollisionRadius;
public int _currentCollisionHeight; private final int _currentCollisionHeight;
public String className; private final String _className;
public int spawnX; private final int _spawnX;
public int spawnY; private final int _spawnY;
public int spawnZ; private final int _spawnZ;
public int classBaseLevel; private final int _classBaseLevel;
public float lvlHpAdd; private final float _lvlHpAdd;
public float lvlHpMod; private final float _lvlHpMod;
public float lvlCpAdd; private final float _lvlCpAdd;
public float lvlCpMod; private final float _lvlCpMod;
public float lvlMpAdd; private final float _lvlMpAdd;
public float lvlMpMod; private final float _lvlMpMod;
private final List<Item> _items = new ArrayList<>(); private final List<Item> _items = new ArrayList<>();
public PlayerTemplate(StatsSet set) public PlayerTemplate(StatsSet set)
{ {
super(set); super(set);
classId = ClassId.getClassId(set.getInt("classId")); _classId = ClassId.getClassId(set.getInt("classId"));
race = Race.values()[set.getInt("raceId")]; _race = Race.values()[set.getInt("raceId")];
className = set.getString("className"); _className = set.getString("className");
_currentCollisionRadius = set.getInt("collision_radius"); _currentCollisionRadius = set.getInt("collision_radius");
_currentCollisionHeight = set.getInt("collision_height"); _currentCollisionHeight = set.getInt("collision_height");
spawnX = set.getInt("spawnX"); _spawnX = set.getInt("spawnX");
spawnY = set.getInt("spawnY"); _spawnY = set.getInt("spawnY");
spawnZ = set.getInt("spawnZ"); _spawnZ = set.getInt("spawnZ");
classBaseLevel = set.getInt("classBaseLevel"); _classBaseLevel = set.getInt("classBaseLevel");
lvlHpAdd = set.getFloat("lvlHpAdd"); _lvlHpAdd = set.getFloat("lvlHpAdd");
lvlHpMod = set.getFloat("lvlHpMod"); _lvlHpMod = set.getFloat("lvlHpMod");
lvlCpAdd = set.getFloat("lvlCpAdd"); _lvlCpAdd = set.getFloat("lvlCpAdd");
lvlCpMod = set.getFloat("lvlCpMod"); _lvlCpMod = set.getFloat("lvlCpMod");
lvlMpAdd = set.getFloat("lvlMpAdd"); _lvlMpAdd = set.getFloat("lvlMpAdd");
lvlMpMod = set.getFloat("lvlMpMod"); _lvlMpMod = set.getFloat("lvlMpMod");
} }
/** /**
@ -95,39 +95,100 @@ public class PlayerTemplate extends CreatureTemplate
return _items.toArray(new Item[_items.size()]); return _items.toArray(new Item[_items.size()]);
} }
/** public Race getRace()
* @return {
*/ return _race;
public double getCollisionRadius() }
public ClassId getClassId()
{
return _classId;
}
@Override
public int getCollisionRadius()
{ {
return _currentCollisionRadius; return _currentCollisionRadius;
} }
/** @Override
* @return public int getCollisionHeight()
*/
public double getCollisionHeight()
{ {
return _currentCollisionHeight; 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) 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; 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; return 400;

View File

@ -51,7 +51,7 @@ public class MonsterRace
{ {
for (int j = i - 1; j >= 0; j--) 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); random = Rnd.get(24);
} }
@ -61,7 +61,7 @@ public class MonsterRace
try try
{ {
final NpcTemplate template = NpcTable.getInstance().getTemplate(id + random); 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(); final int objectId = IdFactory.getInstance().getNextId();
_monsters[i] = (NpcInstance) constructor.newInstance(objectId, template); _monsters[i] = (NpcInstance) constructor.newInstance(objectId, template);
} }

View File

@ -88,7 +88,7 @@ public class Rebirth
} }
// Returns true if BASE CLASS is a mage. // 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. // Returns the skill based on next Birth and if isMage.
final Skill skill = getRebirthSkill((currBirth + 1), isMage); final Skill skill = getRebirthSkill((currBirth + 1), isMage);
@ -305,7 +305,7 @@ public class Rebirth
// returns the current Rebirth Level // returns the current Rebirth Level
final int rebirthLevel = getRebirthLevel(player); final int rebirthLevel = getRebirthLevel(player);
// Returns true if BASE CLASS is a mage. // 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. // Simply return since no bonus skills are granted.
if (rebirthLevel == 0) if (rebirthLevel == 0)

View File

@ -306,7 +306,7 @@ public class VIP
} }
final NpcTemplate npctmp = NpcTable.getInstance().getTemplate(id); final NpcTemplate npctmp = NpcTable.getInstance().getTemplate(id);
return npctmp.name; return npctmp.getName();
} }
public static String getItemName(int id, PlayerInstance player) public static String getItemName(int id, PlayerInstance player)

View File

@ -713,10 +713,10 @@ public class Formulas
public void calc(Env env) public void calc(Env env)
{ {
final PlayerTemplate t = (PlayerTemplate) env.player.getTemplate(); final PlayerTemplate t = (PlayerTemplate) env.player.getTemplate();
final int lvl = env.player.getLevel() - t.classBaseLevel; final int lvl = env.player.getLevel() - t.getClassBaseLevel();
final double hpmod = t.lvlHpMod * lvl; final double hpmod = t.getLvlHpMod() * lvl;
final double hpmax = (t.lvlHpAdd + hpmod) * lvl; final double hpmax = (t.getLvlHpAdd() + hpmod) * lvl;
final double hpmin = (t.lvlHpAdd * lvl) + hpmod; final double hpmin = (t.getLvlHpAdd() * lvl) + hpmod;
env.value += (hpmax + hpmin) / 2; env.value += (hpmax + hpmin) / 2;
} }
} }
@ -760,10 +760,10 @@ public class Formulas
public void calc(Env env) public void calc(Env env)
{ {
final PlayerTemplate t = (PlayerTemplate) env.player.getTemplate(); final PlayerTemplate t = (PlayerTemplate) env.player.getTemplate();
final int lvl = env.player.getLevel() - t.classBaseLevel; final int lvl = env.player.getLevel() - t.getClassBaseLevel();
final double cpmod = t.lvlCpMod * lvl; final double cpmod = t.getLvlCpMod() * lvl;
final double cpmax = (t.lvlCpAdd + cpmod) * lvl; final double cpmax = (t.getLvlCpAdd() + cpmod) * lvl;
final double cpmin = (t.lvlCpAdd * lvl) + cpmod; final double cpmin = (t.getLvlCpAdd() * lvl) + cpmod;
env.value += (cpmax + cpmin) / 2; env.value += (cpmax + cpmin) / 2;
} }
} }
@ -807,10 +807,10 @@ public class Formulas
public void calc(Env env) public void calc(Env env)
{ {
final PlayerTemplate t = (PlayerTemplate) env.player.getTemplate(); final PlayerTemplate t = (PlayerTemplate) env.player.getTemplate();
final int lvl = env.player.getLevel() - t.classBaseLevel; final int lvl = env.player.getLevel() - t.getClassBaseLevel();
final double mpmod = t.lvlMpMod * lvl; final double mpmod = t.getLvlMpMod() * lvl;
final double mpmax = (t.lvlMpAdd + mpmod) * lvl; final double mpmax = (t.getLvlMpAdd() + mpmod) * lvl;
final double mpmin = (t.lvlMpAdd * lvl) + mpmod; final double mpmin = (t.getLvlMpAdd() * lvl) + mpmod;
env.value += (mpmax + mpmin) / 2; env.value += (mpmax + mpmin) / 2;
} }
} }
@ -999,7 +999,7 @@ public class Formulas
*/ */
public static final double calcHpRegen(Creature creature) 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 hpRegenMultiplier = creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER;
double hpRegenBonus = 0; double hpRegenBonus = 0;
@ -1082,7 +1082,7 @@ public class Formulas
*/ */
public static final double calcMpRegen(Creature creature) 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 mpRegenMultiplier = creature.isRaid() ? Config.RAID_MP_REGEN_MULTIPLIER : Config.MP_REGEN_MULTIPLIER;
double mpRegenBonus = 0; double mpRegenBonus = 0;
@ -1152,7 +1152,7 @@ public class Formulas
*/ */
public static final double calcCpRegen(Creature creature) public static final double calcCpRegen(Creature creature)
{ {
double init = creature.getTemplate().baseHpReg; double init = creature.getTemplate().getBaseHpReg();
double cpRegenMultiplier = Config.CP_REGEN_MULTIPLIER; double cpRegenMultiplier = Config.CP_REGEN_MULTIPLIER;
final double cpRegenBonus = 0; final double cpRegenBonus = 0;
@ -2185,72 +2185,72 @@ public class Formulas
{ {
case AGGRESSION: case AGGRESSION:
{ {
multiplier = target.getTemplate().baseAggressionVuln; multiplier = target.getTemplate().getBaseAggressionVuln();
break; break;
} }
case BLEED: case BLEED:
{ {
multiplier = target.getTemplate().baseBleedVuln; multiplier = target.getTemplate().getBaseBleedVuln();
break; break;
} }
case POISON: case POISON:
{ {
multiplier = target.getTemplate().basePoisonVuln; multiplier = target.getTemplate().getBasePoisonVuln();
break; break;
} }
case STUN: case STUN:
{ {
multiplier = target.getTemplate().baseStunVuln; multiplier = target.getTemplate().getBaseStunVuln();
break; break;
} }
case ROOT: case ROOT:
{ {
multiplier = target.getTemplate().baseRootVuln; multiplier = target.getTemplate().getBaseRootVuln();
break; break;
} }
case MOVEMENT: case MOVEMENT:
{ {
multiplier = target.getTemplate().baseMovementVuln; multiplier = target.getTemplate().getBaseMovementVuln();
break; break;
} }
case CONFUSION: case CONFUSION:
{ {
multiplier = target.getTemplate().baseConfusionVuln; multiplier = target.getTemplate().getBaseConfusionVuln();
break; break;
} }
case SLEEP: case SLEEP:
{ {
multiplier = target.getTemplate().baseSleepVuln; multiplier = target.getTemplate().getBaseSleepVuln();
break; break;
} }
case FIRE: case FIRE:
{ {
multiplier = target.getTemplate().baseFireVuln; multiplier = target.getTemplate().getBaseFireVuln();
break; break;
} }
case WIND: case WIND:
{ {
multiplier = target.getTemplate().baseWindVuln; multiplier = target.getTemplate().getBaseWindVuln();
break; break;
} }
case WATER: case WATER:
{ {
multiplier = target.getTemplate().baseWaterVuln; multiplier = target.getTemplate().getBaseWaterVuln();
break; break;
} }
case EARTH: case EARTH:
{ {
multiplier = target.getTemplate().baseEarthVuln; multiplier = target.getTemplate().getBaseEarthVuln();
break; break;
} }
case HOLY: case HOLY:
{ {
multiplier = target.getTemplate().baseHolyVuln; multiplier = target.getTemplate().getBaseHolyVuln();
break; break;
} }
case DARK: case DARK:
{ {
multiplier = target.getTemplate().baseDarkVuln; multiplier = target.getTemplate().getBaseDarkVuln();
break; break;
} }
default: default:

View File

@ -42,9 +42,9 @@ public class ConditionTargetRaceId extends Condition
} }
final NpcInstance target = (NpcInstance) env.target; 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; return false;
} }

View File

@ -53,8 +53,8 @@ public class EffectGrow extends Effect
if (getEffected() instanceof NpcInstance) if (getEffected() instanceof NpcInstance)
{ {
final NpcInstance npc = (NpcInstance) getEffected(); final NpcInstance npc = (NpcInstance) getEffected();
npc.setCollisionHeight(npc.getTemplate().collisionHeight); npc.setCollisionHeight(npc.getTemplate().getCollisionHeight());
npc.setCollisionRadius(npc.getTemplate().collisionRadius); npc.setCollisionRadius(npc.getTemplate().getCollisionRadius());
getEffected().stopAbnormalEffect(Creature.ABNORMAL_EFFECT_GROW); getEffected().stopAbnormalEffect(Creature.ABNORMAL_EFFECT_GROW);
} }
@ -67,8 +67,8 @@ public class EffectGrow extends Effect
if (getEffected() instanceof NpcInstance) if (getEffected() instanceof NpcInstance)
{ {
final NpcInstance npc = (NpcInstance) getEffected(); final NpcInstance npc = (NpcInstance) getEffected();
npc.setCollisionHeight(npc.getTemplate().collisionHeight); npc.setCollisionHeight(npc.getTemplate().getCollisionHeight());
npc.setCollisionRadius(npc.getTemplate().collisionRadius); npc.setCollisionRadius(npc.getTemplate().getCollisionRadius());
getEffected().stopAbnormalEffect(Creature.ABNORMAL_EFFECT_GROW); getEffected().stopAbnormalEffect(Creature.ABNORMAL_EFFECT_GROW);
} }

View File

@ -208,7 +208,7 @@ public class SkillSummon extends Skill
LOGGER.warning("Summon attempt for nonexisting NPC ID:" + _npcId + ", skill ID:" + getId()); LOGGER.warning("Summon attempt for nonexisting NPC ID:" + _npcId + ", skill ID:" + getId());
return; // npcID doesn't exist return; // npcID doesn't exist
} }
if (summonTemplate.type.equalsIgnoreCase("SiegeSummon")) if (summonTemplate.getType().equalsIgnoreCase("SiegeSummon"))
{ {
summon = new SiegeSummonInstance(IdFactory.getInstance().getNextId(), summonTemplate, activeChar, this); 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 = new SummonInstance(IdFactory.getInstance().getNextId(), summonTemplate, activeChar, this);
} }
summon.setName(summonTemplate.name); summon.setName(summonTemplate.getName());
summon.setTitle(activeChar.getName()); summon.setTitle(activeChar.getName());
summon.setExpPenalty(_expPenalty); summon.setExpPenalty(_expPenalty);
if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel())

View File

@ -47,7 +47,7 @@ public class GroupSpawn extends Spawn
try try
{ {
if (_template.type.equalsIgnoreCase("Pet") || _template.type.equalsIgnoreCase("Minion")) if (_template.getType().equalsIgnoreCase("Pet") || _template.getType().equalsIgnoreCase("Minion"))
{ {
return null; return null;
} }

View File

@ -95,14 +95,14 @@ public class Spawn
} }
// The Name of the NpcInstance type managed by this 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"; implementationName = "RaceManager";
} }
if ((mobTemplate.npcId >= 31046) && (mobTemplate.npcId <= 31053)) if ((mobTemplate.getNpcId() >= 31046) && (mobTemplate.getNpcId() <= 31053))
{ {
implementationName = "SymbolMaker"; implementationName = "SymbolMaker";
} }
@ -174,7 +174,7 @@ public class Spawn
return -1; return -1;
} }
return _template.npcId; return _template.getNpcId();
} }
/** /**
@ -427,7 +427,7 @@ public class Spawn
try try
{ {
// Check if the Spawn is not a Net or Minion spawn // 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++; _currentCount++;
@ -460,7 +460,7 @@ public class Spawn
} }
catch (Exception e) catch (Exception e)
{ {
LOGGER.warning("NPC " + _template.npcId + " class not found " + e); LOGGER.warning("NPC " + _template.getNpcId() + " class not found " + e);
} }
return npc; return npc;
} }

View File

@ -116,7 +116,7 @@ public class CharacterCreate extends GameClientPacket
} }
template = CharTemplateTable.getInstance().getTemplate(_classId); template = CharTemplateTable.getInstance().getTemplate(_classId);
if ((template == null) || (template.classBaseLevel > 1)) if ((template == null) || (template.getClassBaseLevel() > 1))
{ {
sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
return; return;
@ -222,7 +222,7 @@ public class CharacterCreate extends GameClientPacket
} }
else else
{ {
newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ); newChar.setXYZInvisible(template.getSpawnX(), template.getSpawnY(), template.getSpawnZ());
} }
if (Config.ALLOW_CREATE_LVL) if (Config.ALLOW_CREATE_LVL)

View File

@ -313,7 +313,7 @@ public class RequestActionUse extends GameClientPacket
{ {
return; 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.broadcastPacket(mount);
player.setMountType(mount.getMountType()); player.setMountType(mount.getMountType());
player.setMountObjectID(pet.getControlItemId()); player.setMountObjectID(pet.getControlItemId());

View File

@ -196,7 +196,7 @@ public class RequestBuyItem extends GameClientPacket
_listId = list.getListId(); _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); sendPacket(ActionFailed.STATIC_PACKET);
return; return;

View File

@ -57,7 +57,7 @@ public class RequestChangePetName extends GameClientPacket
player.sendPacket(new SystemMessage(SystemMessageId.NAMING_YOU_CANNOT_SET_NAME_OF_THE_PET)); player.sendPacket(new SystemMessage(SystemMessageId.NAMING_YOU_CANNOT_SET_NAME_OF_THE_PET));
return; 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)); player.sendPacket(new SystemMessage(SystemMessageId.NAMING_ALREADY_IN_USE_BY_ANOTHER_PET));
return; return;

View File

@ -118,7 +118,7 @@ public class RequestSellItem extends GameClientPacket
return; return;
} }
if ((_listId > 1000000) && (merchant.getTemplate().npcId != (_listId - 1000000))) if ((_listId > 1000000) && (merchant.getTemplate().getNpcId() != (_listId - 1000000)))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;

View File

@ -153,8 +153,8 @@ public class CharInfo extends GameServerPacket
writeD(_flyWalkSpd); writeD(_flyWalkSpd);
writeF(_moveMultiplier); writeF(_moveMultiplier);
writeF(_attackSpeedMultiplier); writeF(_attackSpeedMultiplier);
writeF(template.collisionRadius); writeF(template.getCollisionRadius());
writeF(template.collisionHeight); writeF(template.getCollisionHeight());
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND)); // right hand weapon writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND)); // right hand weapon
writeD(0); writeD(0);
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND)); // left hand weapon writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND)); // left hand weapon
@ -284,8 +284,8 @@ public class CharInfo extends GameServerPacket
writeD(_flyWalkSpd); writeD(_flyWalkSpd);
writeF(_player.getMovementSpeedMultiplier()); // _activeChar.getProperMultiplier() writeF(_player.getMovementSpeedMultiplier()); // _activeChar.getProperMultiplier()
writeF(_player.getAttackSpeedMultiplier()); // _activeChar.getAttackSpeedMultiplier() writeF(_player.getAttackSpeedMultiplier()); // _activeChar.getAttackSpeedMultiplier()
writeF(_player.getBaseTemplate().collisionRadius); writeF(_player.getBaseTemplate().getCollisionRadius());
writeF(_player.getBaseTemplate().collisionHeight); writeF(_player.getBaseTemplate().getCollisionHeight());
writeD(_player.getAppearance().getHairStyle()); writeD(_player.getAppearance().getHairStyle());
writeD(_player.getAppearance().getHairColor()); writeD(_player.getAppearance().getHairColor());

View File

@ -41,25 +41,25 @@ public class CharTemplates extends GameServerPacket
for (PlayerTemplate temp : _chars) for (PlayerTemplate temp : _chars)
{ {
writeD(temp.race.ordinal()); writeD(temp.getRace().ordinal());
writeD(temp.classId.getId()); writeD(temp.getClassId().getId());
writeD(0x46); writeD(0x46);
writeD(temp.baseSTR); writeD(temp.getBaseSTR());
writeD(0x0a); writeD(0x0a);
writeD(0x46); writeD(0x46);
writeD(temp.baseDEX); writeD(temp.getBaseDEX());
writeD(0x0a); writeD(0x0a);
writeD(0x46); writeD(0x46);
writeD(temp.baseCON); writeD(temp.getBaseCON());
writeD(0x0a); writeD(0x0a);
writeD(0x46); writeD(0x46);
writeD(temp.baseINT); writeD(temp.getBaseINT());
writeD(0x0a); writeD(0x0a);
writeD(0x46); writeD(0x46);
writeD(temp.baseWIT); writeD(temp.getBaseWIT());
writeD(0x0a); writeD(0x0a);
writeD(0x46); writeD(0x46);
writeD(temp.baseMEN); writeD(temp.getBaseMEN());
writeD(0x0a); writeD(0x0a);
} }
} }

View File

@ -177,8 +177,8 @@ public class GMViewCharacterInfo extends GameServerPacket
writeD(_walkSpd); writeD(_walkSpd);
writeF(moveMultiplier); writeF(moveMultiplier);
writeF(_player.getAttackSpeedMultiplier()); // 2.9); // writeF(_player.getAttackSpeedMultiplier()); // 2.9); //
writeF(_player.getTemplate().collisionRadius); // scale writeF(_player.getTemplate().getCollisionRadius()); // scale
writeF(_player.getTemplate().collisionHeight); // y offset ??!? fem dwarf 4033 writeF(_player.getTemplate().getCollisionHeight()); // y offset ??!? fem dwarf 4033
writeD(_player.getAppearance().getHairStyle()); writeD(_player.getAppearance().getHairStyle());
writeD(_player.getAppearance().getHairColor()); writeD(_player.getAppearance().getHairColor());
writeD(_player.getAppearance().getFace()); writeD(_player.getAppearance().getFace());

View File

@ -52,15 +52,15 @@ public class MonRaceInfo extends GameServerPacket
for (int i = 0; i < 8; i++) for (int i = 0; i < 8; i++)
{ {
writeD(_monsters[i].getObjectId()); // npcObjectID writeD(_monsters[i].getObjectId()); // npcObjectID
writeD(_monsters[i].getTemplate().npcId + 1000000); // npcID writeD(_monsters[i].getTemplate().getNpcId() + 1000000); // npcID
writeD(14107); // origin X writeD(14107); // origin X
writeD(181875 + (58 * (7 - i))); // origin Y writeD(181875 + (58 * (7 - i))); // origin Y
writeD(-3566); // origin Z writeD(-3566); // origin Z
writeD(12080); // end X writeD(12080); // end X
writeD(181875 + (58 * (7 - i))); // end Y writeD(181875 + (58 * (7 - i))); // end Y
writeD(-3566); // end Z writeD(-3566); // end Z
writeF(_monsters[i].getTemplate().collisionHeight); // coll. height writeF(_monsters[i].getTemplate().getCollisionHeight()); // coll. height
writeF(_monsters[i].getTemplate().collisionRadius); // coll. radius writeF(_monsters[i].getTemplate().getCollisionRadius()); // coll. radius
writeD(120); // ?? unknown writeD(120); // ?? unknown
for (int j = 0; j < 20; j++) for (int j = 0; j < 20; j++)
{ {

View File

@ -71,25 +71,25 @@ public class NpcInfo extends GameServerPacket
return; return;
} }
_creature = cha; _creature = cha;
_idTemplate = cha.getTemplate().idTemplate; _idTemplate = cha.getTemplate().getIdTemplate();
_isAttackable = cha.isAutoAttackable(attacker); _isAttackable = cha.isAutoAttackable(attacker);
_rhand = cha.getRightHandItem(); _rhand = cha.getRightHandItem();
_lhand = cha.getLeftHandItem(); _lhand = cha.getLeftHandItem();
_isSummoned = false; _isSummoned = false;
_collisionHeight = cha.getCollisionHeight(); _collisionHeight = cha.getCollisionHeight();
_collisionRadius = cha.getCollisionRadius(); _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()) if (Config.L2JMOD_CHAMPION_ENABLE && cha.isChampion())
{ {
_title = Config.L2JMOD_CHAMP_TITLE; _title = Config.L2JMOD_CHAMP_TITLE;
} }
else if (cha.getTemplate().serverSideTitle) else if (cha.getTemplate().isServerSideTitle())
{ {
_title = cha.getTemplate().title; _title = cha.getTemplate().getTitle();
} }
else else
{ {
@ -145,14 +145,14 @@ public class NpcInfo extends GameServerPacket
public NpcInfo(Summon cha, Creature attacker) public NpcInfo(Summon cha, Creature attacker)
{ {
_creature = cha; _creature = cha;
_idTemplate = cha.getTemplate().idTemplate; _idTemplate = cha.getTemplate().getIdTemplate();
_isAttackable = cha.isAutoAttackable(attacker); // (cha.getKarma() > 0); _isAttackable = cha.isAutoAttackable(attacker); // (cha.getKarma() > 0);
_rhand = 0; _rhand = 0;
_lhand = 0; _lhand = 0;
_isSummoned = cha.isShowSummonAnimation(); _isSummoned = cha.isShowSummonAnimation();
_collisionHeight = _creature.getTemplate().collisionHeight; _collisionHeight = _creature.getTemplate().getCollisionHeight();
_collisionRadius = _creature.getTemplate().collisionRadius; _collisionRadius = _creature.getTemplate().getCollisionRadius();
if (cha.getTemplate().serverSideName || (cha instanceof PetInstance) || (cha instanceof SummonInstance)) if (cha.getTemplate().isServerSideName() || (cha instanceof PetInstance) || (cha instanceof SummonInstance))
{ {
_name = _creature.getName(); _name = _creature.getName();
_title = cha.getTitle(); _title = cha.getTitle();

View File

@ -72,14 +72,14 @@ public class NpcInfoPoly extends GameServerPacket
_rhand = 0; _rhand = 0;
_lhand = 0; _lhand = 0;
_isSummoned = false; _isSummoned = false;
_collisionRadius = _template.collisionRadius; _collisionRadius = _template.getCollisionRadius();
_collisionHeight = _template.collisionHeight; _collisionHeight = _template.getCollisionHeight();
if (_obj instanceof Creature) if (_obj instanceof Creature)
{ {
_creature = (Creature) obj; _creature = (Creature) obj;
_isAttackable = obj.isAutoAttackable(attacker); _isAttackable = obj.isAutoAttackable(attacker);
_rhand = _template.rhand; _rhand = _template.getRhand();
_lhand = _template.lhand; _lhand = _template.getLhand();
} }
if (_obj instanceof ItemInstance) if (_obj instanceof ItemInstance)

View File

@ -86,7 +86,7 @@ public class PetInfo extends GameServerPacket
writeC(0xb1); writeC(0xb1);
writeD(_summon.getSummonType()); writeD(_summon.getSummonType());
writeD(_summon.getObjectId()); writeD(_summon.getObjectId());
writeD(_summon.getTemplate().idTemplate + 1000000); writeD(_summon.getTemplate().getIdTemplate() + 1000000);
writeD(0); // 1=attackable writeD(0); // 1=attackable
writeD(_x); writeD(_x);
@ -107,8 +107,8 @@ public class PetInfo extends GameServerPacket
writeF(1/* _cha.getProperMultiplier() */); writeF(1/* _cha.getProperMultiplier() */);
writeF(1/* _cha.getAttackSpeedMultiplier() */); writeF(1/* _cha.getAttackSpeedMultiplier() */);
writeF(_summon.getTemplate().collisionRadius); writeF(_summon.getTemplate().getCollisionRadius());
writeF(_summon.getTemplate().collisionHeight); writeF(_summon.getTemplate().getCollisionHeight());
writeD(0); // right hand weapon writeD(0); // right hand weapon
writeD(0); writeD(0);
writeD(0); // left hand weapon writeD(0); // left hand weapon
@ -147,7 +147,7 @@ public class PetInfo extends GameServerPacket
writeD(_summon.getMAtkSpd()); // casting speed writeD(_summon.getMAtkSpd()); // casting speed
writeD(0); // c2 abnormal visual effect... bleed=1; poison=2; poison & bleed=3; flame=4; 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)) if ((npcId >= 12526) && (npcId <= 12528))
{ {

View File

@ -233,13 +233,13 @@ public class UserInfo extends GameServerPacket
final Summon pet = _player.getPet(); final Summon pet = _player.getPet();
if ((_player.getMountType() != 0) && (pet != null)) if ((_player.getMountType() != 0) && (pet != null))
{ {
writeF(pet.getTemplate().collisionRadius); writeF(pet.getTemplate().getCollisionRadius());
writeF(pet.getTemplate().collisionHeight); writeF(pet.getTemplate().getCollisionHeight());
} }
else else
{ {
writeF(_player.getBaseTemplate().collisionRadius); writeF(_player.getBaseTemplate().getCollisionRadius());
writeF(_player.getBaseTemplate().collisionHeight); writeF(_player.getBaseTemplate().getCollisionHeight());
} }
writeD(_player.getAppearance().getHairStyle()); writeD(_player.getAppearance().getHairStyle());
@ -257,7 +257,7 @@ public class UserInfo extends GameServerPacket
final NpcTemplate polyObj = NpcTable.getInstance().getTemplate(_player.getPoly().getPolyId()); final NpcTemplate polyObj = NpcTable.getInstance().getTemplate(_player.getPoly().getPolyId());
if (polyObj != null) if (polyObj != null)
{ {
title += " - " + polyObj.name; title += " - " + polyObj.getName();
} }
} }
writeS(title); writeS(title);

View File

@ -176,11 +176,11 @@ public class Util
int rad = 0; int rad = 0;
if (obj1 instanceof Creature) if (obj1 instanceof Creature)
{ {
rad += ((Creature) obj1).getTemplate().collisionRadius; rad += ((Creature) obj1).getTemplate().getCollisionRadius();
} }
if (obj2 instanceof Creature) if (obj2 instanceof Creature)
{ {
rad += ((Creature) obj2).getTemplate().collisionRadius; rad += ((Creature) obj2).getTemplate().getCollisionRadius();
} }
final double dx = obj1.getX() - obj2.getX(); final double dx = obj1.getX() - obj2.getX();