PageSourceSearch

https://firewolf.netlify.app/_nuxt/DDHuitDn.js

js firewolf.netlify.app collected 2026-10-03 10:44:39 UTC 9,594 bytes, 15 lines download raw bytes

1import{V as v}from"./C1omvcmS.js";import{u as A}from"./DCWHEqtW.js";import{M as F}from"./DIpSCz-v.js";import{U as P}from"./DJwvPUyS.js";import{I as E}from"#entry";import{A as G,r as W,c as h,a9 as Y,ab as u,ag as f,aa as g,ah as b,u as _,aj as o,H as M,ae as J,ac as K,as as V,am as Q,ai as w,i as X}from"./Cqga2mdz.js";import"./CZw8qzHT.js";import"./NBAthv48.js";import"./35TM4mrt.js";import"./CdasQrlT.js";import"./DwH2E4Yy.js";import"./Bh4YzkF1.js";const Z={key:0,class:"space-y-4 text-left"},tt={class:"overflow-hidden rounded-lg border border-gray-200 dark:border-gray-700"},et={class:"min-w-full divide-y divide-gray-200 text-sm dark:divide-gray-700"},at={class:"divide-y divide-gray-200 bg-white dark:divide-gray-700 dark:bg-gray-800"},nt=["onClick"],rt={class:"px-3 py-2 font-medium text-gray-900 dark:text-gray-100"},st={class:"flex items-center gap-1"},ot=["aria-label"],it=["innerHTML"],lt={key:0},ct=["innerHTML"],dt=G({__name:"ModalVillageInfo",props:{isOpen:{type:Boolean}},emits:["close"],setup(C,{emit:L}){const I=C,$=L,{village:c,charachips:O}=A(),p=W({}),y=h({get:()=>I.isOpen,set:t=>{t||$("close")}}),S=h(()=>c.value?c.value.status.code===v.PROLOGUE||c.value.status.code===v.CANCEL:!1),T=h(()=>{if(!c.value)return[];const t=[],e=c.value,a=O.value;let n=e.creator_player.nickname;if(e.creator_player.twitter_user_name&&(n=`@${e.creator_player.twitter_user_name}`),t.push({name:"村の作成者",value:n,description:"村の作成者です。"}),S.value){const s=e.setting.capacity;t.push({name:"最低人数",value:`${s.min}人`,description:`開始予定日時時点でこの人数が集まると進行中に遷移します(集まらなければ廃村となります)。
2ダミーを含む人数です。`}),t.push({name:"最大人数",value:`${s.max}人`,description:`この人数まで参加することができます。
3ダミーを含む人数です。`})}else t.push({name:"人数",value:`${e.participant.count}人`});const r=e.setting.time;if(e.status.code===v.PROLOGUE&&t.push({name:"開始日時",value:B(r.start_datetime)}),t.push({name:"更新間隔",value:D(r.day_change_interval_seconds),description:"実際にこの時間が経過すると村の1日が進行します。"}),t.push({name:"発言可能時間",value:q(r.silent_hours_day1,r.silent_hours_day2,r.sayable_end),description:`進行中に通常発言が可能な時間です。
424時間の場合はいつでも発言できます。
5通常発言以外(独り言や死者の呻き、人狼の囁き等)はいつでも発言できます。`}),a&&a.length>0){t.push({name:"キャラチップ",value:a.map(m=>m.name).join("、")});const s=e.setting.charachip.dummy_chara_id,d=e.participant.member_list.find(m=>m.chara.id===s);d&&t.push({name:"ダミーキャラ",value:d.name,description:`最初に人狼に襲撃されるキャラです。
61日目の人狼の襲撃はこのキャラに固定されます。`})}const i=e.setting.organizations.organization;if(S.value){const s=Object.entries(i).map(([d,m])=>`${d}人: ${m}`).join(`
7`);t.push({name:"編成",value:s,description:"人数に応じた配役です。役職詳細は仕様ページを参照ください。"})}else{const s=e.participant.count,d=i[s.toString()]||"";t.push({name:"編成",value:d,description:"この村の配役です。役職詳細は仕様ページを参照ください。"})}H(t,e.setting.rules),t.push({name:"入村パスワード",value:e.setting.password.join_password_required?"あり":"なし",description:"「あり」の場合、参加する際にパスワード入力が必要になります。"});const l=e.setting.tags.list.find(s=>s.startsWith("R"))||"全年齢";return t.push({name:"年齢制限",value:l,description:"「全年齢」以外の場合、村画面を開いた際、警告が表示されます。"}),t.push({name:"秘話",value:e.setting.rules.available_secret_say?"あり":"なし",description:"「あり」の場合、自分とその人にしか見られない秘話ができます。"}),t.push({name:"アクション",value:e.setting.rules.available_action?"あり":"なし",description:"「あり」の場合、アクション発言が可能です。"}),t}),H=(t,e)=>{t.push({name:"投票",value:e.open_vote?"記名投票":"無記名投票",description:`「記名投票」の場合、処刑の投票結果について、誰が誰に投票したかがわかります。
8「無記名投票」の場合、誰に何票入ったかのみがわかります。`}),t.push({name:"役職希望",value:e.available_skill_request?"有効":"無効",description:`「有効」の場合、割り当てられる役職の希望を出すことができます(自分以外の希望は見られません)。
9他に誰も希望していなかった場合はその役職が割り当てられます。`}),t.push({name:"見学",value:e.available_spectate?"可能":"不可",description:`「可能」の場合、見学者としてå
9‚加できます。
10見学者は死亡した人とのみ会話することができます(プロローグとエピローグでは全員と会話できます)。`}),t.push({name:"墓下役職公開",value:e.open_skill_in_grave?"公開":"非公開",description:"「公開」の場合、死亡した人と見学者は全員の役職を知ることができます。"}),t.push({name:"墓下会話公開",value:e.visible_grave_message?"公開":"非公開",description:"「公開」の場合、生存している参加者が死者の呻きと見学者の発言を見られるようになります。"}),t.push({name:"突然死",value:e.available_suddenly_death?"あり":"なし",description:"「あり」の場合、日付更新のタイミングで、前日に一度も通常発言をしなかった生存者が突然死します。"}),t.push({name:"時短希望",value:e.available_commit?"あり":"なし",description:`「あり」の場合、生存者全員が時短を希望すると、日付が更新されます。
11時短により余った時間は翌日に繰り越されます。`}),t.push({name:"連続護衛",value:e.available_guard_same_target?"可能":"不可",description:`「可能」の場合、同じ人を2日連続で護衛することができます。
12「不可」の場合、同じ人を2日連続で護衛することができません。`});const a=e.message_restrict.restrict_list.map(n=>`${n.type.name}: 1発言ごとに${n.length}文字${n.line}行まで、1日に${n.count}回まで`).join(`
13`);a&&t.push({name:"発言制限",value:a,description:`発言文字数や発言回数の制限です。
14記載がない発言種別は1発言ごとに200文字20行で、1日の回数は無制限となります。`}),t.push({name:"ダミー役欠け",value:e.available_dummy_skill?"あり":"なし",description:`「あり」の場合、ダミーキャラに村人以外の役職が割り当てられる可能性があります。
15「なし」の場合、必ず村人が割り当てられます。`})},j=t=>{p.value={...p.value,[t]:!p.value[t]}},k=t=>t?R(t).replace(/\n/g,"<br />"):"",R=t=>{const e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};return t.replace(/[&<>"']/g,a=>e[a]||a)},B=t=>{const e=new Date(t),a=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0");return`${a}/${n}/${r} ${i}:${l}`},D=t=>{let e="";const a=Math.floor(t/3600),n=Math.floor(t%3600/60),r=t%60;return a!==0&&(e+=`${a}時間`),n!==0&&(e+=`${n}分`),r!==0&&(e+=`${r}秒`),e||"0秒"},N=t=>typeof t=="string"?parseInt(t.substring(0,2),10):t.hour??0,U=t=>typeof t=="string"?parseInt(t.substring(3,5),10):t.minute??0,x=(t,e)=>{if(t===0)return"24時間";const a=N(e),n=U(e),r=(a+t)%24,i=r>a||a===0,l=`${String(r).padStart(2,"0")}:${String(n).padStart(2,"0")}`,s=`${String(a).padStart(2,"0")}:${String(n).padStart(2,"0")}`;return`${l} - ${i?"翌":""}${s}(${24-t}時間)`},q=(t,e,a)=>{const n=t??0,r=e??0;if(n===0&&r===0)return"24時間";const i=x(n,a),l=x(r,a);return`1日目: ${i} / 2日目以降: ${l}`},z=()=>{$("close")};return(t,e)=>(u(),Y(F,{modelValue:_(y),"onUpdate:modelValue":e[0]||(e[0]=a=>X(y)?y.value=a:null),title:"村の設定"},{footer:f(()=>[w(P,{color:"secondary",variant:"outline",onClick:z},{default:f(()=>[...e[2]||(e[2]=[V(" 閉じる ",-1)])]),_:1})]),default:f(()=>[_(c)?(u(),g("div",Z,[o("div",tt,[o("table",et,[e[1]||(e[1]=o("thead",{class:"bg-gray-50 dark:bg-gray-900"},[o("tr",null,[o("th",{class:"px-3 py-2 text-left font-semibold text-gray-700 dark:text-gray-300"}," 設定 "),o("th",{class:"px-3 py-2 text-left font-semibold text-gray-700 dark:text-gray-300"})])],-1)),o("tbody",at,[(u(!0),g(M,null,J(_(T),(a,n)=>(u(),g(M,{key:n},[o("tr",{class:K(["transition-colors",a.description?"cursor-pointer":""]),onClick:r=>a.description&&j(n)},[o("td",rt,[o("div",st,[V(Q(a.name)+" ",1),a.description?(u(),g("button",{key:0,type:"button",class:"text-gray-400 hover:text-gray-600 dark:text-gray-500 dark:hover:text-gray-300","aria-label":`${a.name}の説明を${_(p)[n]?"閉じる":"開く"}`},[w(E,{name:"heroicons:question-mark-circle",class:"h-4 w-4"})],8,ot)):b("",!0)])]),o("td",{class:"px-3 py-2 whitespace-pre-wrap text-gray-700 dark:text-gray-300",innerHTML:k(a.value)},null,8,it)],10,nt),a.description&&_(p)[n]?(u(),g("tr",lt,[o("td",{colspan:"2",class:"bg-gray-50 px-3 py-2 text-gray-600 dark:bg-gray-900 dark:text-gray-400",innerHTML:k(a.description)},null,8,ct)])):b("",!0)],64))),128))])])])])):b("",!0)]),_:1},8,["modelValue"]))}}),kt=Object.assign(dt,{__name:"PagesVillageSidebarModalVillageInfo"});export{kt as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.