<!-- RUBY-BACKUP · part 194 -->
must find */
  hydrant.position.set(x+8, 0, z+5);
  hydrant.visible = false; /* hidden until found */
  g.add(hydrant);
  g.userData.hydrant = hydrant;
  g.position.set(x, y, z);
  var t = Math.random()*10;
  var anim = setInterval(function(){
    t += 0.03;
    /* searching — looking left and right */
    g.rotation.y = Math.sin(t*1.2)*0.8;
    bubble.rotation.y = -g.rotation.y;
  }, 50);
  g.userData.anim = anim;
  return g;
}
function placeOfficerAndFirefighter(){
  if(typeof scene==='undefined' || typeof mePos==='undefined') return;
  if(OFFICER_GROUP){
    OFFICER_GROUP.forEach(function(o){
      try{ scene.remove(o); }catch(e){}
      if(o.userData.anim) clearInterval(o.userData.anim);
    });
  }
  OFFICER_GROUP = [];
  var px = mePos.x, pz = mePos.z;
  /* officer — near downtown */
  var officer = buildPoliceOfficer((px+10)*0.13, 0, (pz+10)*0.13);
  scene.add(officer);
  OFFICER_GROUP.push(officer);
  /* firefighter — near downtown */
  var ff = buildFirefighter((px-10)*0.13, 0, (pz-10)*0.13);
  scene.add(ff);
  OFFICER_GROUP.push(ff);
  codeStatus('officer needs his pad. Firefighter needs a hydrant. Help them.');
}

/* 60 SIDE QUESTS — randomly generated */
var SIDE_QUESTS = [
  {id: 1, giver: 'Officer', text: 'Find my missing pad', loc: 'city'},
  {id: 2, giver: 'Firefighter', text: 'Find the hidden hydrant', loc: 'city'},
  {id: 3, giver: 'Kai', text: 'Find three gears for the broken robot', loc: 'dark'},
  {id: 4, giver: 'Leilani', text: 'Share water with the tree beggar', loc: 'dark'},
  {id: 5, giver: 'Makoa', text: 'Help the question guy find one answer', loc: 'dark'},
  {id: 6, giver: 'Nalani', text: 'Sing with the homeless soul', loc: 'dark'},
  {id: 7, giver: 'Shopkeeper', text: 'Deliver goods to the market', loc: 'city'},
  {id: 8, giver: 'Farmer', text: 'Help harvest the crops', loc: 'rural'},
  {id: 9, giver: 'Elder', text: 'Listen to the tribal story', loc: 'tribal'},
  {id: 10, giver: 'Child', text: 'Play at the playground', loc: 'plaza'},
  {id: 11, giver: 'Fisherman', text: 'Catch a fish at storm beach', loc: 'dark'},
  {id: 12, giver: 'Sailor', text: 'Wave to Hokulea in orbit', loc: 'spaceport'},
  {id: 13, giver: 'Teacher', text: 'Bring a book to the school', loc: 'city'},
  {id: 14, giver: 'Healer', text: 'Gather herbs from the valley', loc: 'valley'},
  {id: 15, giver: 'Builder', text: 'Help raise a new tower', loc: 'city'},
  {id: 16, giver: 'Artist', text: 'Paint the sunset at the beach', loc: 'dark'},
  {id: 17, giver: 'Musician', text: 'Play for the merry-go-round', loc: 'plaza'},
  {id: 18, giver: 'Cook', text: 'Find ingredients in the market', loc: 'city'},
  {id: 19, giver: 'Gardener', text: 'Plant flowers at the plaza', loc: 'plaza'},
  {id: 20, giver: 'Librarian', text: 'Return the lost book', loc: 'city'},
  {id: 21, giver: 'Pilot', text: 'Check the landing pad lights', loc: 'spaceport'},
  {id: 22, giver: 'Engineer', text: 'Fix the broken robot arm', loc: 'dark'},
  {id: 23, giver: 'Dancer', text: 'Dance at the gathering', loc: 'plaza'},
  {id: 24, giver: 'Singer', text: 'Sing for the lost souls', loc: 'dark'},
  {id: 25, giver: 'Runner', text: 'Race to the mountain peak', loc: 'terrain'},
  {id: 26, giver: 'Climber', text: 'Climb the cliff trail', loc: 'terrain'},
  {id: 27, giver: 'Swimmer', text: 'Swim to the island', loc: 'terrain'},
  {id: 28, giver: 'Hiker', text: 'Walk the valley river', loc: 'valley'},
  {id: 29, giver: 'Birdwatcher', text: 'Spot the eagle', loc: 'wildlife'},
  {id: 30, giver: 'Naturalist', text: 'Count the deer', loc: 'wildlife'},
  {id: 31, giver: 'Elder Kai', text: 'Learn the name Uenuku', loc: 'city'},
  {id: 32, giver: 'Elder Leilani', text: 'Learn the name Liloa', loc: 'city'},
  {id: 33, giver: 'Historian', text: 'Read all 67 street signs', loc: 'city'},
  {id: 34, giver: 'Child', text: 'Ride the merry-go-round', loc: 'plaza'},
  {id: 35, giver: 'Child', text: 'Slide down the rainbow slide', loc: 'plaza'},
  {id: 36, giver: 'Baker', text: 'Deliver bread to the tribal village', loc: 'tribal'},
  {id: 37, giver: 'Blacksmith', text: 'Bring metal to the forge', loc: 'city'},
  {id: 38, giver: 'Weaver', text: 'Collect thatch for the huts', loc: 'tribal'},
  {id: 39, giver: 'Fisher', text: 'Mend the nets at the beach', loc: 'dark'},
  {id: 40, giver: 'Star-gazer', text: 'Count Hokulea orbits', loc: 'spaceport'},
  {id: 41, giver: 'Dreamer', text: 'Sleep under the cosmic sky', loc: 'cosmic'},
  {id: 42, giver: 'Wanderer', text: 'Visit all three zones', loc: 'all'},
  {id: 43, giver: 'Friend', text: 'Bring a pet to the plaza', loc: 'plaza'},
  {id: 44, giver: 'Helper', text: 'Clean the playground', loc: 'plaza'},
  {id: 45, giver: 'Guide', text: 'Show a visitor the city', loc: 'city'},
  {id: 46, giver: 'Keeper', text: 'Tend the eternal flame', loc: 'plaza'},
  {id: 47, giver: 'Watcher', text: 'Guard the wormholes', loc: 'dark'},
  {id: 48, giver: 'Thinker', text: 'Answer the unanswerable', loc: 'dark'},
  {id: