Skip to content

Commit

Permalink
Merge 78596a9 into ff0cc55
Browse files Browse the repository at this point in the history
  • Loading branch information
ysakasin authored May 12, 2021
2 parents ff0cc55 + 78596a9 commit 790031e
Show file tree
Hide file tree
Showing 6 changed files with 1,515 additions and 5 deletions.
2 changes: 2 additions & 0 deletions i18n/StellarKnights/ja_jp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ ja_jp:
StellarKnights:
SK:
success_num: "成功数: %{success_num}"
no_dice_error: "ダイスが 0 個です(アタック判定が発生しません)"
PET:
name: 性格表
result: "%{value1}にして%{value2}"
Expand Down Expand Up @@ -44,6 +45,7 @@ ja_jp:
- 'サディスト'
FT:
name: フラグメント表
sep: ","
items:
- '出会い'
- '水族館'
Expand Down
498 changes: 498 additions & 0 deletions i18n/StellarKnights/ko_kr.yml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions lib/bcdice/game_system.rb
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@
require "bcdice/game_system/StarryDolls"
require "bcdice/game_system/SteamPunkers"
require "bcdice/game_system/StellarKnights"
require "bcdice/game_system/StellarKnights_Korean"
require "bcdice/game_system/SterileLife"
require "bcdice/game_system/StrangerOfSwordCity"
require "bcdice/game_system/StratoShout"
Expand Down
10 changes: 5 additions & 5 deletions lib/bcdice/game_system/StellarKnights.rb
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ def initialize(command)
def eval_game_system_specific_command(command)
command = command.upcase

if (table = TABLES[command])
if (table = self.class::TABLES[command])
table.roll(@randomizer)
elsif (m = /(\d+)SK(\d)?((,\d>\d)+)?/.match(command))
resolute_action(m[1].to_i, m[2] && m[2].to_i, m[3], command)
Expand Down Expand Up @@ -102,7 +102,7 @@ def resolute_action(num_dices, defence, dice_change_text, command)

output = "(#{command}) > #{dice_text}"
if dices.empty?
return output + "ダイスが 0 個です(アタック判定が発生しません)"
return output + translate("StellarKnights.SK.no_dice_error")
end

# FAQによると、ダイスの置き換えは宣言された順番に適用されていく
Expand Down Expand Up @@ -147,11 +147,11 @@ def parse_dice_change_rules(text)
end

def roll_all_situation_b2_tables
(1..6).map { |num| TABLES["STB2#{num}"].roll(@randomizer) }.join("\n")
(1..6).map { |num| self.class::TABLES["STB2#{num}"].roll(@randomizer) }.join("\n")
end

def roll_all_situation_tables
['STA', 'STB', 'STC'].map { |command| TABLES[command].roll(@randomizer) }.join("\n")
['STA', 'STB', 'STC'].map { |command| self.class::TABLES[command].roll(@randomizer) }.join("\n")
end

def roll_personality_table
Expand All @@ -172,7 +172,7 @@ def roll_fragment_table(num)
indexes = results.map { |r| r[1] }
name = translate("StellarKnights.FT.name")

return "#{name}(#{indexes.join(',')}) > #{values.join(',')}"
return "#{name}(#{indexes.join(',')}) > #{values.join(translate('StellarKnights.FT.sep'))}"
end

class << self
Expand Down
76 changes: 76 additions & 0 deletions lib/bcdice/game_system/StellarKnights_Korean.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# frozen_string_literal: true

require "bcdice/game_system/StellarKnights"

module BCDice
module GameSystem
class StellarKnights_Korean < StellarKnights
# ゲームシステムの識別子
ID = "StellarKnights:Korean"

# ゲームシステム名
NAME = "은검의 스텔라나이츠"

# ゲームシステム名の読みがな
SORT_KEY = "国際化:Korean:은검의 스텔라나이츠"

# ダイスボットの使い方
HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
・판정 nSK[d][,k>l,...]
[]안은 생략 가능.
n: 다이스 개수, d: 공격 판정 대상의 방어력, k>l: 다이스를 굴려 k가 나오면 l로 변경(아마란서스 스킬 중「시작의 방」용)
d 생략 시 다이스를 굴린 결과만 표시. (nSK는 nB6과 동일)
4SK: 다이스 4개를 굴린 결과 표시.
5SK3: 【공격 판정: 5다이스】, 대상의 방어력을 3으로 계산해 성공 수 표시.
3SK,1>6: 다이스 3개 굴림, 1이 나오면 전부 6으로 변경, 대상의 방어력을 4로 계산해 성공 수 표시.
6SK4,1>6,2>6: 【공격 판정: 6다이스】, 1과 2가 나오면 전부 6으로 변경, 대상의 방어력을 4로 계산해 성공 수 표시.
・기본
TT: 소재 표
STA: 상황 표 A: 시간 (Situation Table A)
STB: 상황 표 B-1: 장소 (ST B)
STB2[n]: 상황 표 B-2: 학원편 (ST B 2)
 n: 1(아셀트레이 공립대학), 2(이데아글로리아 예술종합대학), 3(시트라 여학원), 4(필로소피아 대학), 5(성 아제티아 학원), 6(스폰 오브 아셀트레이)
STC: 상황 표 C: 화제 (ST C)
ALLS: 상황 표 전체 일괄 굴림 (학원편 제외)
GAT: 소속 조직 결정 (Gakuen Table)
HOT: 희망 표 (Hope Table)
DET: 절망 표 (Despair Table)
WIT: 소원 표 (Wish Table)
YST: 당신의 이야기 표 (Your Story Table)
YSTA: 당신의 이야기 표 (이세계) (YST Another World)
PET: 성격 표 (Personality Table)
성격 표를 2번 굴려 성격을 결정한다.
・안개와 벚꽃의 마르지날리아
YSTM: 당신의 이야기 표 (마르지날리아) (YST Marginalia)
STM: 상황 표: 마르지날리아 (ST Marginalia)
YSTL: 당신의 이야기 표 (편지) (YST Letter)
YSTR: 당신의 이야기 표 (리콜렉트 돌) (YST Recollect-doll)
STBR: 상황 표 B: 장소 (리콜렉트 돌) (ST B Recollect-doll)
STCR: 상황 표 C: 리콜렉트 (ST C Recollect)
STBS: 상황 표 B: 시트라 세팅 (ST B Sut Tu Real)
STE: 상황 표: 이클립스 전용 (ST Eclipse)
・자탄의 알트리부트
FT: 프래그먼트 표 (Fragment Table)
프래그먼트 표를 5번 굴린다.
FTx: 프래그먼트 표를 x회 굴린다.
YSTB: 당신의 이야기 (브링거) (YST Bringer)
YSTF: 당신의 이야기 (포지) (YST Forge)
STAL: 상황 표 (알트리부트) (ST Alt-Levoot)
INFO_MESSAGE_TEXT

register_prefix_from_super_class()

def initialize(command)
super(command)

@locale = :ko_kr
end

TABLES = translate_tables(:ko_kr).freeze
end
end
end
Loading

0 comments on commit 790031e

Please sign in to comment.