class BCDice::GameSystem::Strave

Constants

HELP_MESSAGE

ダイスボットの使い方

ID

ゲームシステムの識別子

NAME

ゲームシステム名

SORT_KEY

ゲームシステム名の読みがな

Public Class Methods

new(command) click to toggle source
Calls superclass method BCDice::Base::new
# File lib/bcdice/game_system/Strave.rb, line 40
def initialize(command)
  super(command)
  @sort_add_dice = true # ダイスのソート有
end

Public Instance Methods

checkRoll(diceCount, target, damage) click to toggle source
# File lib/bcdice/game_system/Strave.rb, line 77
def checkRoll(diceCount, target, damage)
  target = 1 if target < 1
  target = 10 if target > 10

  diceArray = @randomizer.roll_barabara(diceCount, 10).sort
  diceText = diceArray.join(",")

  successCount = diceArray.find_all { |i| (i <= target) }.size

  isDamage = !damage.nil?

  if isDamage
    totalDamage = successCount * damage
    result = "(#{diceCount}D10\<\=#{target}) > #{diceText} > Hits:#{successCount}*#{damage} > #{totalDamage}ダメージ"
  else
    result = "(#{diceCount}D10\<\=#{target}) > #{diceText}"
    if  successCount > 0
      result += " > 【成功】"
    else
      result += " > 【失敗】"
    end
  end

  return result
end
eval_game_system_specific_command(command) click to toggle source
# File lib/bcdice/game_system/Strave.rb, line 45
def eval_game_system_specific_command(command)
  output =
    case command.upcase

    # MPコマンド:モラトリアムフェイズ用判定
    when /MP(\d+)$/i
      diceCount = 2
      target = Regexp.last_match(1).to_i
      checkRoll(diceCount, target, nil)

    # STコマンド:命中判定
    when /(\d+)ST(\d+)(x|\*)(\d+)$/i
      diceCount = Regexp.last_match(1).to_i
      target = Regexp.last_match(2).to_i
      damage = (Regexp.last_match(4) || 0).to_i
      checkRoll(diceCount, target, damage)

    # 各種表
    when 'AFF'
      get_affiliation_table
    when 'IDT'
      get_identity_table
    when 'AFV'
      get_affiliation_table2
    when 'IDV'
      get_identity_table2

    end

  return output
end
get_affiliation_table() click to toggle source
# File lib/bcdice/game_system/Strave.rb, line 103
def get_affiliation_table
  name = '所属表:基本'
  table = [
    [1, 'アリウス管理委員会:あなたはアリウス管理委員会に所属している。'],
    [2, 'オーヴァーブルー:あなたはオーヴァーブルーに所属している。'],
    [3, 'ウォルゲイト:あなたはウォルゲイトに所属している。'],
    [4, '暁部隊:あなたはかつて、反逆者・暁弥琴と同じ部隊に所属していた。'],
    [5, '天文部:あなたは天文部に所属している。'],
    [6, '吹奏楽部:あなたは吹奏楽部に所属している。'],
    [7, '剣道部:あなたは剣道部に所属している。'],
    [8, 'ボクシング部:あなたはボクシング部に所属している。'],
    [9, '陸上部:あなたは陸上部に所属している。'],
    [10, '茶道部:あなたは茶道部に所属している。'],
    [11, 'パソコン部:あなたはパソコン部に所属している。'],
    [12, '新聞部:あなたは新聞部に所属している。'],
    [13, '弓道部:あなたは弓道部に所属している。'],
    [14, '美術部:あなたは美術部に所属している。'],
    [15, 'ミリタリー研究会:あなたはミリタリー研究会に所属している。'],
    [16, '歴史研究会:あなたは歴史研究会に所属している。'],
    [17, 'ロボット研究会:あなたはロボット研究会に所属している。'],
    [18, '図書委員会:あなたは図書委員会に所属している。'],
    [19, '任意:あなたの任意の所属を設定せよ。'],
    [20, '任意:あなたの任意の所属を設定せよ。']
  ]
  return get_strave_1d100_table_result(name, table)
end
get_affiliation_table2() click to toggle source
# File lib/bcdice/game_system/Strave.rb, line 157
def get_affiliation_table2
  name = '所属表:ヴァリアンスネイヴァー'
  table = [
    [1, 'シュヴァレ・トワール:あなたはシュヴァレ・トワールに所属している。'],
    [2, 'ディープシンカー:あなたはディープシンカーに所属している。'],
    [3, 'ヴェルクシュタット:あなたはヴェルクシュタットに所属している。'],
    [4, 'アウスヴァル:あなたはアウスヴァルに所属している。'],
    [5, '美術科:あなたは美術科に所属している。'],
    [6, '哲学科:あなたは哲学科に所属している。'],
    [7, '数学科:あなたは数学科に所属している。'],
    [8, '地理学科:あなたは地理学科に所属している。'],
    [9, '工学科:あなたは工学科に所属している。'],
    [10, '体育学科:あなたは体育学科に所属している。'],
    [11, '農学科:あなたは農学科に所属している。'],
    [12, '歴史学科:あなたは歴史学科に所属している。'],
    [13, '医学科:あなたは医学科に所属している。'],
    [14, '情報学科:あなたは情報学科に所属している。'],
    [15, '音楽科:あなたは音楽科に所属している。'],
    [16, '心理学科:あなたは心理学科に所属している。'],
    [17, '文学科:あなたは文学科に所属している。'],
    [18, '任意:あなたの任意の所属を設定すること。'],
    [19, '任意:あなたの任意の所属を設定すること。'],
    [20, '任意:あなたの任意の所属を設定すること。']
  ]
  return get_strave_1d100_table_result(name, table)
end
get_identity_table() click to toggle source
# File lib/bcdice/game_system/Strave.rb, line 130
def get_identity_table
  name = 'アイデンティティ表:基本'
  table = [
    [1, '戦い:戦いこそが、あなたをあなたたらしめている。'],
    [2, '守護:あなたには守るべきものがある。'],
    [3, '復讐:あなたは復讐を誓っている。何かに、あるいは誰かに。'],
    [4, '名声:その身に浴びる脚光を、何よりも誉としている。'],
    [5, '恋愛:あなたはその身を焦がす恋に生きている。'],
    [6, '家族:あなたにとって、家族はかけがえの無いものだ。'],
    [7, '友人:あなたは友のために戦っている。'],
    [8, '部隊:共に戦う部隊の仲間が、あなたに力をくれる。'],
    [9, 'ストレイヴ:あなたは自身のストレイヴを誇りに思っている。'],
    [10, 'スフィアブレイク:あなたはスフィアブレイクを熱烈に目指している。'],
    [11, 'お金:あなたはお金を求めている。報酬こそが自分の価値だ。'],
    [12, '夢:あなたには夢がある。自分を突き動かす夢が。'],
    [13, '忠誠:あなたは忠誠を誓っている。何かに、あるいは誰かに。'],
    [14, '共生:あなたは、ヴァイエルと人類との共生を望んでいる。'],
    [15, '居場所:自身の居場所こそが、あなたに力をくれる。'],
    [16, '強制:あなたは不本意ながら今の立場にいる。'],
    [17, '碧空:見上げた青空が、あなたを変えた。'],
    [18, '任意:あなたの任意のアイデンティティを設定せよ。'],
    [19, '任意:あなたの任意のアイデンティティを設定せよ。'],
    [20, '任意:あなたの任意のアイデンティティを設定せよ。']
  ]
  return get_strave_1d100_table_result(name, table)
end
get_identity_table2() click to toggle source
# File lib/bcdice/game_system/Strave.rb, line 184
def get_identity_table2
  name = 'アイデンティティ表:ヴァリアンスネイヴァー'
  table = [
    [1, '戦い:戦いへの衝動が、あなたをあなたたらしめている。'],
    [2, '守護:守るべきものの存在が、あなたをあなたたらしめている。'],
    [3, '復讐:復讐の誓いこそが、あなたをあなたたらしめている。'],
    [4, '名声:与えられた名誉こそが、あなたをあなたたらしめている。'],
    [5, '恋愛:愛する者への想いが、あなたをあなたたらしめている。'],
    [6, '家族:かけがえのない家族が、あなたをあなたたらしめている。'],
    [7, '友人:友の存在が、あなたをあなたたらしめている。'],
    [8, '部隊:部隊の戦友こそが、あなたをあなたたらしめている。'],
    [9, 'ストレイヴ:ストレイヴの存在が、あなたの心を保っている。'],
    [10, '宇宙:やがて来る旅立ちの日まで、あなたはあなたであろうとしている。'],
    [11, 'お金:与えられる報酬のため、あなたはあなたであろうとしている。'],
    [12, '夢:あなたには、己の心に誓った夢がある。'],
    [13, '忠誠:その心でもって、誓った忠義がある。'],
    [14, '共生:あなたは、ヴァイエルと人類との共生を望んでいる。'],
    [15, '居場所:自身の居場所への思いが、あなたをあなたたらしめている。'],
    [16, 'ヴァイエル:あなたと同じでありながら、あなたと異なる存在。彼らへの思いが、あなたをあなたたらしめている。'],
    [17, 'エコール:自身の生きる場所への思いが、あなたをあなたたらしめている。'],
    [18, '任意:あなたの任意のアイデンティティを設定せよ。'],
    [19, '任意:あなたの任意のアイデンティティを設定せよ。'],
    [20, '任意:あなたの任意のアイデンティティを設定せよ。']
  ]
  return get_strave_1d100_table_result(name, table)
end
get_strave_1d100_table_result(name, table) click to toggle source
# File lib/bcdice/game_system/Strave.rb, line 211
def get_strave_1d100_table_result(name, table)
  dice = @randomizer.roll_once(100)
  dice2 = ((dice.to_i - 1) / 5).floor + 1
  result = get_table_by_number(dice2, table)
  return get_strave_table_result(name, dice, result)
end
get_strave_table_result(name, dice, result) click to toggle source
# File lib/bcdice/game_system/Strave.rb, line 218
def get_strave_table_result(name, dice, result)
  return "#{name}(#{dice}) > #{result}"
end