<% if (date == 0) %> <% end %>
トップページ

<%= @vid %>村 <%= @vil.name %>

<%= date = if (@cgi.key?('date')) @cgi['date'].to_i else @vil.date end all = (@cgi['log'] == 'all') ? true : false part = (@cgi['log'] == 'part') ? true : false anc = (@cgi['log'] == 'anc') ? true : false type = @cgi['type'] if type != '' typehref = '&type='+type else typehref = '' end exids = @cgi['id'] exidplus = '' exidhref = '' if exids != '' exidplus = exids + ':' exidhref = '&id='+exids exid = exids.split(':') else exid = [] end date_all = '' for i in 0..@vil.date datestr = if (i == 0) "情報" else "#{i}日目" end if (i == date) date_all += %Q(#{datestr} ) else href = "?vid=#{@vid}&date=#{i}" href += "&type=#{type}" if type != "" href += "&id=#{exids}" if exids != "" href += "&log=all" if all date_all += %Q(#{datestr} ) end end date_all += %Q(最新 |) sa = %Q( ) wh = %Q( ) gr = %Q( ) th = %Q( ) if(type != '') if (type == 'say') sa = %Q( ) elsif (type == 'whisper') wh = %Q( ) elsif (type == 'groan') gr = %Q( ) elsif (type == 'think') th = %Q( ) end end if (!all) al = %Q( ) else al = %Q( ) end date_all += sa + wh + gr + th + al date_all %>

<%= erbres('skel/info.html') %> <% if ((@vil.userid == @login.userid || @login.userid == MASTER || ADMIN.include?(@login.userid)) && @vil.state == 0) %> <%= erbres('skel/edvil.html') %> <% end %> <% elsif anc %> <%= erbres('skel/anchor.html') %> <% else %> <% @conf = Conf.new(@login.userid) if (@conf.up2down == 0) %> <% else %> <% end %> <%= s = '' @player = @vil.player(@login) @vil.survivors.each do |p| f_name = "#{Charset.charsets[@vil.char].file_name}_s#{two(p.pid)}" s += %Q() s += %Q(" end s %> <%= s = '' @vil.victims.each do |p| f_name = "#{Charset.charsets[@vil.char].file_name}_s#{two(p.pid)}" s += %Q() s += %Q(" end s %> <%= s = '' @vil.executions.each do |p| f_name = "#{Charset.charsets[@vil.char].file_name}_s#{two(p.pid)}" s += %Q() s += %Q(" end s %>
生存 <%= @vil.survivors.size %>人
#{p.name}) if (@vil.state > 1 || @vil.open_id || (@vil.open_skill && @player && @player.dead != 0)) s += %Q(
ID: #{p.userid}) end if (@vil.state < 2) s += %Q(
< #{p.say_cnt} >) end if (@vil.state == 1 && p.say_remain) s += %Q(#{p.say_remain}/#{@vil.sayfull}) end if (@vil.tenko != -1 && p.tenko && p.tenko != -1) s += %Q(点呼#{p.tenko}) end if (@vil.state == 1) if (!@vil.night && !@vil.card && @vil.date == 2 && p.commit == 0) s += %Q(
コミット済) else if (p.vote != -1) s += %Q(投票済) end end end if (@vil.state > 1 || (@vil.open_skill && @player && @player.dead != 0)) s += %Q(
#{Skill.skills[p.sid].name}) if (p.lovers.size != 0) s += %Q((恋人)) end elsif (@vil.state == 1) if (@player) if (@player.sid == 2) if(p.fortune_t.key?(@player)) d = p.fortune_t[@player] if (p.sid == 1) s += %Q(
#{d}日目:#{Skill.skills[1].name}) else s += %Q(
#{d}日目:人間) end end elsif (@player.sid == 11) if (!@vil.open_id) if (p.fortune_id_t.key?(@player)) s += "
ID: #{p.userid}" end end elsif (@player.sid == 16) if (p.guard_t.key?(@player)) s += %Q(
護衛終了) end end end end s += "
犠牲 <%= @vil.victims.size %>人
#{p.name}) if (@vil.state > 1 || @vil.open_id || (@vil.open_skill && @player && @player.dead != 0)) s += %Q(
ID: #{p.userid}) end if (@vil.state > 1 || (@vil.open_skill && @player && @player.dead != 0)) s += %Q(
#{Skill.skills[p.sid].name}) if (p.lovers.size != 0) s += %Q((恋人)) end elsif (@vil.state == 1 && @player) if (@player.sid == 2) if(p.fortune_t.key?(@player)) d = p.fortune_t[@player] if (p.sid == 1) s += %Q(
#{d}日目:#{Skill.skills[1].name}) else s += %Q(
#{d}日目:人間) end end elsif (@player.sid == 11) if (!@vil.open_id) if (p.fortune_id_t.key?(@player)) s += "
ID: #{p.userid}" end end end end s += "
処刑 <%= @vil.executions.size %>人
#{p.name}) if (@vil.state > 1 || @vil.open_id || (@vil.open_skill && @player && @player.dead != 0)) s += %Q(
ID: #{p.userid}) end if (@vil.state > 1 || (@vil.open_skill && @player && @player.dead != 0)) s += %Q(
#{Skill.skills[p.sid].name}) if (p.lovers.size != 0) s += %Q((恋人)) end elsif (@vil.state == 1 && @player) if (@player.sid == 2) if(p.fortune_t.key?(@player)) d = p.fortune_t[@player] if (p.sid == 1) s += %Q(
#{d}日目:#{Skill.skills[1].name}) else s += %Q(
#{d}日目:人間) end end elsif (@player.sid == 11) if (!@vil.open_id) if (p.fortune_id_t.key?(@player)) s += "
ID: #{p.userid}" end end elsif (@player.sid == 3) if (p.sid == 1) s += %Q(
#{Skill.skills[1].name}
) else s += %Q(
人間
) end end end s += "
<% s_log = Array.new date = @vil.date if (date > @vil.date) File.open("db/log#{(@vid - 1) / 100}/#{@vid}_#{date}.html") do |ifile| lines = ifile.readlines (lines.size - 1).downto(0) do |i| line = lines[i] if (line =~ /^/) if (type != '') if (type == 'whisper') next if ($1 != 'whisper' && $1 != 'whisperhowl') else next if (type != $1) end end if (exid.size > 0) next if !(exid.index($2)) next if (@vil.state < 2 && $1 == 'whisperhowl' && (@player == nil || !@player.can_whisper)) end if (@vil.state < 2) if ($1 == 'think') next if (@player == nil) next if (@player.num_id != $2.to_i) elsif ($1 == 'whisperhowl') next if(@vil.state == 0) if (@player == nil || (!@player.can_whisper && (!@vil.open_skill || @player.dead == 0))) line = howl_wolf(Charset.charsets[@vil.char].howl_filename) end elsif ($1 == 'whisper') next if(@vil.state == 0) next if (@player == nil) next if (!@player.can_whisper && (!@vil.open_skill || @player.dead == 0)) elsif ($1 == 'groan') next if(@vil.state == 0) next if (@player == nil) next if (@player.dead == 0) elsif ($1 == 'sprit') next if(@vil.state == 0) next if (@player == nil) next if (@player.sid != 3) elsif ($1 == 'fanatic') next if(@vil.state == 0) next if (@player == nil) next if (!@player.can_whisper && @player.sid != 9) end end end line.gsub!(/^/, '') s_log.push(line) if (exid == 0 && !all && type == '') logs = @conf.log if(s_log.size > logs && !part) s = %Q(省略されています。すべて表示する。) if(@vil.state == 2 && date == @vil.date && lines.size > 300) s += %Q( 最新300を表示する) end s_log.push(alllog_announce(s)) break elsif(s_log.size > 299 && part && @vil.state == 2) s = %Q(省略されています。すべて表示する。) s += %Q( 最新#{logs}を表示する) s_log.push(alllog_announce(s)) break end end end end if (@conf.up2down == 0) s_log.reverse! end %> <% s_time = '' if (@vil.date == date && @vil.update_time && @vil.state == 1) if (@vil.period < LONG) t = Time.at(@vil.update_time) - Time.now if (t > 0) dt = Time.at(t) hour = dt.to_i / 3600 s_ti = %Q(#{hour}時間 #{dt.min}分 #{dt.sec}秒) if (@vil.night_commit && @vil.night) s_ti += "後、または能力者全員が行動を決定すれば更新されます。" else s_ti += "後に更新されます。" end s_time += time_announce(s_ti) s_time += SHOW_UPDATE_SCRIPT else s_time += time_announce(%Q(更新時間をすでに過ぎています。)) end else ts = Time.at(@vil.update_time) s_time += time_announce("この村は、#{ts.mon}月 #{ts.day}日 #{ts.hour}時 #{ts.min}分に更新されます。") end elsif (@vil.upstart_time && @vil.state == 0) ts = Time.at(@vil.upstart_time) str = "この村は、#{ts.mon}月 #{ts.day}日 #{ts.hour}時 #{ts.min}分に #{@vil.entry_min}人以上いれば開始されます。" str += "ただし人数に応じた編成が無い場合は開始されません。" if (@vil.composition == WIDE_CUSTOM) s_time += time_announce(str) elsif (@vil.date == date && @vil.update_time && @vil.state == 2) ts = Time.at(@vil.update_time) s_time += time_announce("この村は、#{ts.mon}月 #{ts.day}日 #{ts.hour}時 #{ts.min}分に終了します。") end %> <% if (@conf.up2down == 0) %> <%= s_log %> <%= s_time %>
<% end %> <% if(@login.login && @vil.date == date) %> <% if (@vil.state < 3) %> <% if(!@player) %> <% if (@vil.state == 0) %> <%= erbres('skel/entry.html') %> <% end %> <% else %> <%= erbres('skel/msg.html') %> <% end %> <% if (!@player || ((@vil.state != 1) && !(@player && @conf.win_id == 1))) %> <%= erbres('skel/spectator.html') %> <% end %> <% end %> <% if ((@vil.userid == @login.userid || @login.userid == MASTER || ADMIN.include?(@login.userid)) && @vil.state == 0) %>
<% end %> <% if (DEBUG) %> <%= erbres('skel/force.html') %> <% end %> <% end %> <% if (@conf.up2down == 1) %> <%= s_time %> <%= s_log %> <% end %>

<%= date_all %>

トップページ