public void processMonsterUpdate(UpdateMonster um) { if (um != null) { if (monsters.containsKey(um.id)) { Monster monster = monsters.get(um.id); if (monster != null) { EIError.debugMsg( "Setting " + um.id + " to " + um.mapX + ":" + um.mapY + ", Action: " + um.action); monster.setPosition(um.mapX, um.mapY); if (um.previousGoal != null) { monster.ai.setPreviousGoal(um.previousGoal); } if (um.currentGoal != null) { monster.ai.setCurrentGoal(um.currentGoal); } if (um.action.equals("ApplyDamage")) { monster.applyDamage(um.dataInt, um.actor); } else if (um.action.equals("ApplyKnockBack")) { monster.applyKnockBack(um.dataInt, um.dataInt2); } else if (um.action.equals("Die")) { monster.setHitPoints(0); } else if (um.action.equals("Fear")) { monster.applyKnockBack(um.dataInt, um.dataInt2); monster.fear(um.dataPoint, um.dataLong); } } } else { if (gameController.multiplayerMode == gameController.multiplayerMode.CLIENT && registry.getNetworkThread() != null) { if (registry.getNetworkThread().readyForUpdates()) { EIError.debugMsg("Monster not found - need " + um.id); registry.getNetworkThread().sendData("send monster data: " + um.id); } } } } }