/** * Constructs new <tt>SM_NPC_INFO </tt> packet * * @param npc visible npc. * @param player */ public SM_NPC_INFO(Npc npc, Player player) { this.npc = npc; npcTemplate = npc.getObjectTemplate(); if (npcTemplate.getNpcType() == NpcType.NEUTRAL || npcTemplate.getNpcType() == NpcType.ARTIFACT) { if (player.isAggroIconTo(npc.getTribe())) npcTypeId = NpcType.NEUTRAL.getId(); else npcTypeId = NpcType.NON_ATTACKABLE.getId(); } else { npcTypeId = (player.isAggroIconTo(npc.getTribe()) ? NpcType.AGGRESSIVE.getId() : npcTemplate.getNpcType().getId()); } npcId = npc.getNpcId(); }
public SM_NPC_INFO(Trap trap) { this.npc = trap; npcTemplate = trap.getObjectTemplate(); npcTypeId = npcTemplate.getNpcType().getId(); npcId = trap.getNpcId(); Player owner = (Player) trap.getMaster(); if (owner != null) { masterObjId = owner.getObjectId(); masterName = owner.getName(); speed = 0; } else { masterName = "LOST"; } }
/** @param summon */ public SM_NPC_INFO(Summon summon) { this.npc = summon; npcTemplate = summon.getObjectTemplate(); npcTypeId = npcTemplate.getNpcType().getId(); npcId = summon.getNpcId(); Player owner = summon.getMaster(); if (owner != null) { masterObjId = owner.getObjectId(); masterName = owner.getName(); speed = owner.getGameStats().getCurrentStat(StatEnum.SPEED) / 1000f; } else { masterName = "LOST"; } }