예제 #1
0
 @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);
 }
예제 #2
0
 @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));
               }
             });
   }
 }
예제 #3
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);
 }