Пример #1
0
 @Override
 public void process() {
   if (getCombatTimer() == 0) sendNpcWalk();
   if (needsRespawn) {
     respawnTimer--;
   }
   if (isDead()) {
     hiddenTimer--;
     if (hiddenTimer == 3 && isVisible) {
       getUpdateFlags().sendAnimation(getDefinition().getDeathAnimation(), 0);
     }
     if (hiddenTimer <= 0 && isVisible) {
       needsRespawn = true;
       isVisible = false;
       getUpdateFlags().setUpdateRequired(true);
     }
     if (respawnTimer <= 0 && !isVisible && needsRespawn) {
       getPosition().setAs(spawnPosition);
       isVisible = true;
       setDead(false);
       getUpdateFlags().sendAnimation(65535, 0);
       respawnTimer = definition.getRespawnTimer();
       hiddenTimer = definition.getHiddenTimer();
       hp = definition.getMaxHp();
       needsRespawn = false;
     }
   }
   getCombat().combatTick(this);
   getFollowing().followTick(this);
 }
Пример #2
0
 /**
  * Creates a new Npc.
  *
  * @param npcId the NPC ID
  */
 public Npc(NpcDefinition definition, int npcId) {
   this.setNpcId(npcId);
   getUpdateFlags().setUpdateRequired(true);
   this.definition = definition;
   hp = definition.getMaxHp();
   hiddenTimer = definition.getHiddenTimer();
   respawnTimer = definition.getRespawnTimer();
   initAttributes();
 }
Пример #3
0
 public void sendTransform(int transformId) {
   NpcDefinition def = World.getDefinitions()[transformId];
   this.transformId = transformId;
   transformUpdate = true;
   setNpcId(transformId);
   getUpdateFlags().setUpdateRequired(true);
   respawnTimer = def.getRespawnTimer();
   hiddenTimer = def.getHiddenTimer();
   hp = def.getMaxHp();
 }