message: Fix vehicles in IZs for real this time
diff: @@ -531,9 +531,21 @@ void NPCManager::handleWarp(CNSocket* sock, int32_t warpId) {
  if (Warps.find(warpId) == Warps.end())
  return;
  + if (plr->iPCState | 8) {
  // remove the player's vehicle
  plr->iPCState &= ~8;
  + // send to self
  + INITSTRUCT(sP_FE2CL_PC_VEHICLE_OFF_SUCC, off);
  + sock->sendPacket((void*)&off, P_FE2CL_PC_VEHICLE_OFF_SUCC, sizeof(sP_FE2CL_PC_VEHICLE_OFF_SUCC));
  +
  + // send to others
  + INITSTRUCT(sP_FE2CL_PC_STATE_CHANGE, chg);
  + chg.iPC_ID = plr->iID;
  + chg.iState = plr->iPCState;
  + PlayerManager::sendToViewable(sock, (void*)&chg, P_FE2CL_PC_STATE_CHANGE, sizeof(sP_FE2CL_PC_STATE_CHANGE));
  + }
  +
  // std::cerr << "Warped to Map Num:" << Warps[warpId].instanceID << " NPC ID " << Warps[warpId].npcID << std::endl;
  if (Warps[warpId].isInstance) {
  uint64_t instanceID = Warps[warpId].instanceID;
  @@ -569,8 +581,21 @@ void NPCManager::handleWarp(CNSocket* sock, int32_t warpId) {
  otherPlr->recallInstance = instanceID;
  // remove their vehicle if they're on one
  + if (otherPlr->iPCState | 8) {
  + // remove the player's vehicle
  otherPlr->iPCState &= ~8;
  + // send to self
  + INITSTRUCT(sP_FE2CL_PC_VEHICLE_OFF_SUCC, off);
  + sockTo->sendPacket((void*)&off, P_FE2CL_PC_VEHICLE_OFF_SUCC, sizeof(sP_FE2CL_PC_VEHICLE_OFF_SUCC));
  +
  + // send to others
  + INITSTRUCT(sP_FE2CL_PC_STATE_CHANGE, chg);
  + chg.iPC_ID = otherPlr->iID;
  + chg.iState = otherPlr->iPCState;
  + PlayerManager::sendToViewable(sockTo, (void*)&chg, P_FE2CL_PC_STATE_CHANGE, sizeof(sP_FE2CL_PC_STATE_CHANGE));
  + }
  +
  PlayerManager::sendPlayerTo(sockTo, Warps[warpId].x, Warps[warpId].y, Warps[warpId].z, instanceID);
  }
  }
  