diff --git a/i18n/DoubleCross/ja_jp.yml b/i18n/DoubleCross/ja_jp.yml index b60742e17..a923352fc 100644 --- a/i18n/DoubleCross/ja_jp.yml +++ b/i18n/DoubleCross/ja_jp.yml @@ -51,3 +51,56 @@ ja_jp: "86_90": 不快感(ふかいかん) "91_95": 憤懣(ふんまん) "96_100": 敵愾心(てきがいしん) + HC: + name: ハプニングチャート + type: 1D100 + items: + - ["1..5", "こともなし。修正は特にない。"] + - ["6..10", "専門的知識が必要。そのラウンドの間、指定された技能が4レベル以下のキャラクターが獲得する進行値は-1となる(最低0)"] + - ["11..15", "焦り。そのラウンド中、難易度+1D10。"] + - ["16..20", "一歩間違えば致命的な状況。次の進行判定に失敗した場合、今まで獲得した進行値が0になる。"] + - ["21..25", "異常な興奮。そのラウンド中、進行判定に失敗したキャラクターは暴走を受ける。"] + - ["26..30", "プレッシャー。そのラウンド中に進行判定を行なったキャラクターは、判定の直後に重圧を受ける。"] + - ["31..35", "幸運がほほえむ。このラウンド中に行なう進行判定はすべてクリティカル値-1される。"] + - ["36..40", "破滅的不運。このラウンド中に行なう進行判定はすべてクリティカル値+1される。"] + - ["41..45", "ーか八かのチャンス。このラウンド中、最大達成値と難易度に+10。"] + - ["46..55", "膠着した進行。修正は特にない。"] + - ["56..60", "綱渡りのような状況。このラウンド中、難易度+1D10。"] + - ["61..65", "あるかなきかのチャンス。このラウンド中、最大達成値+10。"] + - ["66..70", "消耗を伴う作業。このラウンド中に進行判定を行なったキャラクターは、判定の直後に1D10点のHPダメージを受ける。"] + - ["71..75", "チャンス到来。このラウンド中に行なう進行判定は、ダイスが+5個される。"] + - ["76..80", "予想外のビンチ。このラウンド中に行なう進行判定は、ダイスが-5個される。"] + - ["81..85", "緊張がレネゲイドを活性化。そのラウンド中に進行判定を行なったキャラクターは、判定の直後に1D10点侵蝕率が増加。"] + - ["86..90", "突破口の発見。このシーン中の最大達成値+10。この効果は重複しない。"] + - ["91..95", "事態の断続的な悪化。このシーン中の難易度+1D10。この効果は重複する。"] + - ["96..100","順当な進行。このラウンド中に進行判定に成功したキャラクターは、進行値を+1得る。"] + + PCP: + name: プロローグチャート(ポジティブ) + type: 1D10 + items: + - 【ヴィクトリー】 ヴィランの集団と戦い、勝利する。報道陣や観衆がその勝利を称える。 + - 【ハプニング】 銀行や商店などにいる際、突発的な犯罪に巻き込まれ、それを解決する。 + - 【レスキュー】 火事や爆発事故、倒壊などの災害現場で、市民を救出する。 + - 【ヴァーサス】 ライバルである強力なヴィランと対決している。決着はつかず、ヴィランは逃亡する。 + - 【ヒーローインタビュー】 メディアから取材を受ける。事件の解決や首長からの表彰によって、あるいは注目のヒーローとしてなど。 + - 【トレーニング】 ヒーローとしてトレーニングを行なっている。身体能力やエフェクトの訓練、知識の補強など。 + - 【オリジン】 自分がヒーローとなったきっかけ、発端の場面を回想する。初めてオーヴァードに覚醒した場面や、初めて他人を救った時、かつての憧れのヒーローについてなど。 + - 【エブリデイ・ライフ】 日常生活を送っている。久々の休暇か、ヒーロー以外の生活か。ロイスの対象と会話するのもよいだろう。 + - 【ニューパワー】 新しいエフェクトや装備を身につける、受け取る。これで新たな力を手に入れたことになる。 + - 【サクセス】 なにかに大成功した場面だ。仕事でもよいし、休暇中のゲームやスポーツかもしれない。 + + PCN: + name: プロローグチャート(ネガティブ) + type: 1D10 + items: + - 【ディフィート】 ヴィランと戦い、敗北した場面を回想する。その時の負傷は既に回復しているが、誇りはまだ回復していない。 + - 【アクシデント】 不運に見舞われる。事故に巻き込まれる、たまたまヴィランの攻撃を受けるなど。その不幸で誰かが助かるかもしれない。 + - 【ディザスター】 事故や災害に巻き込まれる、あるいは過去に巻き込まれた場面の回想。自分はオーヴァードの能力で生き残るが、他は⋯⋯。 + - 【ウィークポイント】 ライバルである強力なヴィランと対決している。ヴィランはあなたの弱点や致命的欠陥、不吉な未来を告げて去っていく。 + - 【バッシング】 メディアや市民から批判を受ける。過去の失敗や、今の乱暴な解決法など。 + - 【リカバリー】 治療を受けている。最近怪我をした、過去の古傷が残っている、もう肉体が限界だ⋯⋯など。 + - 【トラウマ】 過去の不幸、悲劇、失敗などを回想している。それがヒーローになったきっかけかもしれない。 + - 【アキューズ】 あなたを責める会話。ロイスの対象、被害者の肉親など。それでもヒーローを続けるしかない⋯⋯。 + - 【タイムリミット】 診療を受け、限界が近いことを告げられる。オーヴァードの能力に肉体が耐えられない、能力が衰えているなど。 + - 【プリーズ】 ロイスの対象などから、ヒーローを引退するようにお願いされる。あなたが心配だ、危険すぎる、など。聞き入れるわけにはいかないが⋯⋯。 diff --git a/i18n/DoubleCross/ko_kr.yml b/i18n/DoubleCross/ko_kr.yml index 25b0564d1..b585b1fc5 100644 --- a/i18n/DoubleCross/ko_kr.yml +++ b/i18n/DoubleCross/ko_kr.yml @@ -51,3 +51,55 @@ ko_kr: "86_90": 불쾌감 "91_95": 분만(憤懣) "96_100": 적개심 + HC: + name: 해프닝 차트 + type: 1D100 + items: + - ["1..5", "아무 일도 없다. 수정은 특별히 없다."] + - ["6..10", "전문적 지식이 필요. 그 라운드 동안, 지정된 기능이 4레벨 이하인 캐릭터가 획득하는 진행치는 -1이 된다. (최저 0)"] + - ["11..15", "초조하다. 그 라운드 동안 난이도 +1D10."] + - ["16..20", "자칫하면 치명적인 상황. 다음 진행판정에 실패할 경우, 지금까지 획득한 진행치가 0이 된다."] + - ["21..25", "비정상적인 흥분. 그 라운드 동안, 진행판정에 실패한 캐릭터는 폭주를 받는다."] + - ["26..30", "프레셔. 그 라운드 동안에 진행판정을 한 캐릭터는, 판정 직후 중압을 받는다."] + - ["31..35", "행운이 함께한다. 이번 라운드 동안에 하는 진행판정은 모두 크리티컬치 -1 된다."] + - ["36..40", "파멸적 불운. 이번 라운드 동안에 하는 진행판정은 모두 크리티컬치 +1 된다."] + - ["41..45", "있을지 없을지 모르는 찬스. 이번 라운드 동안, 최대달성치의 난이도가 +10."] + - ["46..55", "교착된 진행. 수정은 특별히 없다."] + - ["56..60", "줄타기 같은 상황. 이번 라운드 동안, 난이도+1D10."] + - ["61..65", "다시 없을 찬스. 이번 라운드 동안, 최대 달성치+10."] + - ["66..70", "소모를 동반한 작업. 이번 라운드 동안에 진행판정을 한 캐릭터는, 판정 직후에 1D10점의 대미지를 받는다."] + - ["71..75", "찬스의 도래. 이번 라운드 동안에 하는 진행판정은, 다이스를 +5개 된다."] + - ["76..80", "예상외의 핀치. 이번 라운드 동안에 하는 진행판정은, 다이스가 -5개 된다."] + - ["81..85", "긴장이 레니게이드를 활성화. 그 라운드 동안에 진행판정을 한 캐릭터는, 판정 직후에 1D10점 침식률이 증가."] + - ["86..90", "돌파구의 발견. 이번 씬 동안의 최대달성치+10. 이 효과는 중복되지 않는다."] + - ["91..95", "사태의 간헐적인 악화. 이번 씬 동안의 난이도+1D10. 이 효과는 중복된다."] + - ["96..100", "순조로운 진행. 이번 라운드 동안에 진행판정에 성공한 캐릭터는, 진행치를 +1 얻는다."] + + PCP: + name: 프롤로그 차트 (포지티브) + type: 1D10 + items: + - 【빅토리】 빌런 집단과 싸워, 승리한다. 보도진과 관중들이 그 승리를 칭찬한다. + - 【해프닝】 은행이나 상점 등에 있을 때, 돌발 범죄에 휘말려 해결한다. + - 【레스큐】 화재나 폭발사고, 붕괴 등 재난 현장에서 시민을 구출한다. + - 【버서스】 라이벌인 강력한 빌런과 대결하고 있다. 결말이 나지않고 빌런은 도망친다. + - 【히어로 인터뷰】 미디어로부터 취재를 받다. 사건의 해결이나 장관으로부터의 표창을 받거나, 혹은 주목받는 히어로로서 등. + - 【트레이닝】 히어로로서 훈련을 한다. 신체 능력이나 이펙트 훈련, 지식 보강 등. + - 【오리진】 자신이 히어로가 된 계기, 시작 장면을 회상한다. 처음 오버드로 각성한 장면이나, 처음으로 다른 사람을 구한 순간, 예전에 동경했던 히어로에 대해서 등. + - 【에브리데이 라이프】 일상생활을 보낸다. 오랜만의 휴가나, 히어로가 아닌 생활이나. 로이스 대상과의 대화하는 것도 좋을 것이다. + - 【뉴 파워】 새로운 이펙트나 장비를 몸에 익히거나, 받는다. 이로써 새로운 힘을 얻은 셈이다. + - 【석세스】 뭔가에 대성공한 장면이다. 일이라도 좋고 휴가 중에 하는 게임이나 스포츠일지도 모른다. + PCN: + name: 프롤로그 차트 (네거티브) + type: 1D10 + items: + - 【디피트】 빌런과 싸워 패배한 장면을 회상한다. 그때 부상은 이미 회복됐지만, 긍지는 아직 회복되지 않았다. + - 【액시던트】 불운에 휘말린다. 사고에 연루되거나, 우연히 빌런의 공격을 받는 등. 그 불행으로 누군가가 구해질 지도 몰라. + - 【디재스터】 사고나 재난에 휘말리거나, 과거에 휘말렸던 장면의 회상. 자신은 오버드의 능력으로 살아남았지만, 다른 사람들은⋯. + - 【위크포인트】 라이벌인 강력한 빌런과 대결하고 있다. 빌런은 당신의 약점이나 치명적인 결함, 불길한 미래를 알리고 떠난다. + - 【배싱】 미디어나 시민들로부터 비판을 받는다. 과거의 실패나 지금의 난폭한 해결법 등. + - 【리커버리】 치료를 받고 있다. 최근에 다쳤거, 과거의 오래된 상처가 남아 있거나, 이제 육체가 한계에 다다랐다⋯등. + - 【트라우마】 과거의 불행, 비극, 실패 등을 회상하고 있다. 그게 히어로가 된 계기일지도 몰라. + - 【어큐즈】 당신을 비난하는 대화. 로이스의 대상, 피해자의 가족 등. 그래도 히어로를 계속할 수 밖에 없다⋯. + - 【타임 리미트】 진료를 받고 한계가 가까워졌다는 말을 듣는다. 오버드의 능력이 육체가 견딜 수 없다, 능력이 쇠퇴하고 있다 등. + - 【플리즈】 로이스의 대상 등에게로부터 히어로를 은퇴하라는 부탁을 받는다. 당신이 걱정된다, 너무 위험하다, 등등. 들어줄 수는 없지만⋯. diff --git a/lib/bcdice/game_system/DoubleCross.rb b/lib/bcdice/game_system/DoubleCross.rb index b1c6b17a7..e1b68f658 100644 --- a/lib/bcdice/game_system/DoubleCross.rb +++ b/lib/bcdice/game_system/DoubleCross.rb @@ -27,6 +27,9 @@ class DoubleCross < Base   ポジティブとネガティブの両方を振って、表になっている側に○を付けて表示します。   もちろん任意で選ぶ部分は変更して構いません。 + ・ハプニングチャート(HC) + ・RWプロローグチャート ポジティブ (PCP) + ・RWプロローグチャート ネガティブ (PCN) ・D66ダイスあり INFO_MESSAGE_TEXT @@ -213,6 +216,10 @@ def eval_game_system_specific_command(command) return dx.execute(@randomizer) end + if self.class::TABLES.key?(command) + return roll_tables(command, self.class::TABLES) + end + if command == 'ET' return roll_emotion_table() end @@ -356,13 +363,23 @@ def negative_emotion_table(locale) ] ).freeze end - end + def translate_tables(locale) + { + "HC" => DiceTable::RangeTable.from_i18n("DoubleCross.HC", locale), + "PCP" => DiceTable::Table.from_i18n("DoubleCross.PCP", locale), + "PCN" => DiceTable::Table.from_i18n("DoubleCross.PCN", locale), + } + end + end # 感情表(ポジティブ) POSITIVE_EMOTION_TABLE = positive_emotion_table(:ja_jp).freeze # 感情表(ネガティブ) NEGATIVE_EMOTION_TABLE = negative_emotion_table(:ja_jp).freeze + + TABLES = translate_tables(:ja_jp).freeze + register_prefix('\d+DX', TABLES.keys) end end end diff --git a/lib/bcdice/game_system/DoubleCross_Korean.rb b/lib/bcdice/game_system/DoubleCross_Korean.rb index 795313949..f58e483e7 100644 --- a/lib/bcdice/game_system/DoubleCross_Korean.rb +++ b/lib/bcdice/game_system/DoubleCross_Korean.rb @@ -24,6 +24,9 @@ class DoubleCross_Korean < DoubleCross  ・감정표(ET)   포지티브와 네거티브 양쪽을 굴려, 겉으로 나타는 쪽에 O를 붙여 표시합니다.   물론 임의로 정하는 부분을 변경해도 괜찮습니다. + ・해프닝차트(HC) + ・RW프롤로그차트 포지티브(PCP) + ・RW프롤로그차트 네거티브(PCN) ・D66다이스 있음 INFO_MESSAGE_TEXT @@ -46,9 +49,10 @@ def initialize(num, critical_value, modifier, target_value) # 感情表(ポジティブ) POSITIVE_EMOTION_TABLE = positive_emotion_table(:ko_kr).freeze - # 感情表(ネガティブ) NEGATIVE_EMOTION_TABLE = negative_emotion_table(:ko_kr).freeze + TABLES = translate_tables(:ko_kr).freeze + register_prefix('\d+DX', TABLES.keys) end end end diff --git a/test/data/DoubleCross.toml b/test/data/DoubleCross.toml index c90803b51..859d6731d 100644 --- a/test/data/DoubleCross.toml +++ b/test/data/DoubleCross.toml @@ -1872,6 +1872,78 @@ rands = [ { sides = 2, value = 1 }, ] +[[ test ]] +game_system = "DoubleCross" +input = "HC" +output = "ハプニングチャート(1) > こともなし。修正は特にない。" +rands = [ + { sides = 100, value = 1 } +] + +[[ test ]] +game_system = "DoubleCross" +input = "HC" +output = "ハプニングチャート(55) > 膠着した進行。修正は特にない。" +rands = [ + { sides = 100, value = 55 } +] + +[[ test ]] +game_system = "DoubleCross" +input = "HC" +output = "ハプニングチャート(100) > 順当な進行。このラウンド中に進行判定に成功したキャラクターは、進行値を+1得る。" +rands = [ + { sides = 100, value = 100 } +] + +[[ test ]] +game_system = "DoubleCross" +input = "PCP" +output = "プロローグチャート(ポジティブ)(1) > 【ヴィクトリー】 ヴィランの集団と戦い、勝利する。報道陣や観衆がその勝利を称える。" +rands = [ + { sides = 10, value = 1 } +] + +[[ test ]] +game_system = "DoubleCross" +input = "PCP" +output = "プロローグチャート(ポジティブ)(5) > 【ヒーローインタビュー】 メディアから取材を受ける。事件の解決や首長からの表彰によって、あるいは注目のヒーローとしてなど。" +rands = [ + { sides = 10, value = 5 } +] + +[[ test ]] +game_system = "DoubleCross" +input = "PCP" +output = "プロローグチャート(ポジティブ)(10) > 【サクセス】 なにかに大成功した場面だ。仕事でもよいし、休暇中のゲームやスポーツかもしれない。" +rands = [ + { sides = 10, value = 10 } +] + +[[ test ]] +game_system = "DoubleCross" +input = "PCN" +output = "プロローグチャート(ネガティブ)(1) > 【ディフィート】 ヴィランと戦い、敗北した場面を回想する。その時の負傷は既に回復しているが、誇りはまだ回復していない。" +rands = [ + { sides = 10, value = 1 } +] + +[[ test ]] +game_system = "DoubleCross" +input = "PCN" +output = "プロローグチャート(ネガティブ)(5) > 【バッシング】 メディアや市民から批判を受ける。過去の失敗や、今の乱暴な解決法など。" +rands = [ + { sides = 10, value = 5 } +] + +[[ test ]] +game_system = "DoubleCross" +input = "PCN" +output = "プロローグチャート(ネガティブ)(10) > 【プリーズ】 ロイスの対象などから、ヒーローを引退するようにお願いされる。あなたが心配だ、危険すぎる、など。聞き入れるわけにはいかないが⋯⋯。" +rands = [ + { sides = 10, value = 10 } +] + [[ test ]] game_system = "DoubleCross" input = "10dx+5*2@8" diff --git a/test/data/DoubleCross_Korean.toml b/test/data/DoubleCross_Korean.toml index f99941675..3cf65e2da 100644 --- a/test/data/DoubleCross_Korean.toml +++ b/test/data/DoubleCross_Korean.toml @@ -1842,6 +1842,69 @@ rands = [ { sides = 2, value = 1 }, ] +[[ test ]] +game_system = "DoubleCross:Korean" +input = "HC" +output = "해프닝 차트(1) > 아무 일도 없다. 수정은 특별히 없다." +rands = [ + { sides = 100, value = 1 } +] + +[[ test ]] +game_system = "DoubleCross:Korean" +input = "HC" +output = "해프닝 차트(55) > 교착된 진행. 수정은 특별히 없다." +rands = [ + { sides = 100, value = 55 } +] + +[[ test ]] +game_system = "DoubleCross:Korean" +input = "HC" +output = "해프닝 차트(99) > 순조로운 진행. 이번 라운드 동안에 진행판정에 성공한 캐릭터는, 진행치를 +1 얻는다." +rands = [ + { sides = 100, value = 99 } +] + +[[ test ]] +game_system = "DoubleCross:Korean" +input = "PCP" +output = "프롤로그 차트 (포지티브)(1) > 【빅토리】 빌런 집단과 싸워, 승리한다. 보도진과 관중들이 그 승리를 칭찬한다." +rands = [ + { sides = 10, value = 1 } +] + +game_system = "DoubleCross:Korean" +input = "PCP" +output = "프롤로그 차트 (포지티브)(10) > 【석세스】 뭔가에 대성공한 장면이다. 일이라도 좋고 휴가 중에 하는 게임이나 스포츠일지도 모른다." +rands = [ + { sides = 10, value = 10 } +] + +game_system = "DoubleCross:Korean" +input = "PCN" +output = "프롤로그 차트 (네거티브)(1) > 【디피트】 빌런과 싸워 패배한 장면을 회상한다. 그때 부상은 이미 회복됐지만, 긍지는 아직 회복되지 않았다." +rands = [ + { sides = 10, value = 1 } +] + + +game_system = "DoubleCross:Korean" +input = "PCN" +output = "프롤로그 차트 (네거티브)(5) > 【배싱】 미디어나 시민들로부터 비판을 받는다. 과거의 실패나 지금의 난폭한 해결법 등." +rands = [ + { sides = 10, value = 5 } +] + +[[ test ]] +game_system = "DoubleCross:Korean" +input = "PCN" +output = "프롤로그 차트 (네거티브)(10) > 【플리즈】 로이스의 대상 등에게로부터 히어로를 은퇴하라는 부탁을 받는다. 당신이 걱정된다, 너무 위험하다, 등등. 들어줄 수는 없지만⋯." +rands = [ + { sides = 10, value = 10 } +] + + [[ test ]] game_system = "DoubleCross:Korean" input = "10dx+5*2@8"