       audioFN = convertFilename ship_id, id
       setConfig(key, "http://#{server}/kcs/sound/kc#{shipFilename}/#{audioFN}.mp3")
 
+    @setState
+      hasHourlyVoice: _.find(getStore('const').$ships, (sh) -> return sh.api_id == ship_id)?.api_voicef > 1
+    console.log(@state.hasHourlyVoice)
+
+    if @state.hasHourlyVoice
+      [0...24].map (hour) ->
+        audioFN = convertFilename ship_id, (hour + 30)
+        audio = "http://#{server}/kcs/sound/kc#{shipFilename}/#{audioFN}.mp3"
+        config.set("plugin.secretary.hourly_voice.#{hour}", audio)
+    else
+      config.set("plugin.secretary.hourly_voice")
+
   handleShipChange: (e) ->
     ship_id = parseInt(e.target.value)
     return if ship_id is NaN

    # Game data
    ships: ships  # Index by sortno
    shipgraph: shipgraph
  componentDidMount: ->
    window.addEventListener 'game.response', @handleResponse
    window.addEventListener 'secretary.unload', @pluginWillUnload

    window.removeEventListener 'secretary.unload', @pluginWillUnload

  pluginDidLoad: ->
    nextHour = new Date()
    nextHour.setHours nextHour.getHours()+1
    nextHour.setMinutes 0
