@Override public void startEffect(Effect effect) { if (model > 0) { Creature effected = effect.getEffected(); NpcTemplate template = DataManager.NPC_DATA.getNpcTemplate(model); if (template != null) effected.getTransformModel().setTribe(template.getTribe(), false); } super.startEffect(effect); }
@Override public void applyEffect(Effect effect) { super.applyEffect(effect); if (effect.getEffected() instanceof Player) { final Player player = (Player) effect.getEffected(); player .getKnownList() .doOnAllNpcs( new Visitor<Npc>() { @Override public void visit(Npc npc) { PacketSendUtility.sendPacket( player, new SM_CUSTOM_SETTINGS(npc.getObjectId(), 0, npc.getType(player), 0)); } }); } }
@Override public void endEffect(Effect effect) { effect.getEffected().getTransformModel().setActive(false); if (effect.getEffected() instanceof Player) { final Player player = (Player) effect.getEffected(); player .getKnownList() .doOnAllNpcs( new Visitor<Npc>() { @Override public void visit(Npc npc) { PacketSendUtility.sendPacket( player, new SM_CUSTOM_SETTINGS(npc.getObjectId(), 0, npc.getType(player), 0)); player.getTransformModel().setTribe(null, false); } }); } super.endEffect(effect); }