Class: BCDice::GameSystem::BeginningIdol

Inherits:
Base
  • Object
show all
Defined in:
lib/bcdice/game_system/BeginningIdol.rb,
lib/bcdice/game_system/beginning_idol/table.rb,
lib/bcdice/game_system/beginning_idol/item_table.rb,
lib/bcdice/game_system/beginning_idol/work_table.rb,
lib/bcdice/game_system/beginning_idol/chain_table.rb,
lib/bcdice/game_system/beginning_idol/skill_table.rb,
lib/bcdice/game_system/beginning_idol/costume_table.rb,
lib/bcdice/game_system/beginning_idol/d6_twice_table.rb,
lib/bcdice/game_system/beginning_idol/chain_d66_table.rb,
lib/bcdice/game_system/beginning_idol/bad_status_table.rb,
lib/bcdice/game_system/beginning_idol/with_abnormality.rb,
lib/bcdice/game_system/beginning_idol/accessories_table.rb,
lib/bcdice/game_system/beginning_idol/random_event_table.rb,
lib/bcdice/game_system/beginning_idol/my_skill_name_table.rb

Direct Known Subclasses

BeginningIdol_Korean

Defined Under Namespace

Modules: WithAbnormality Classes: BadStatusTable, ChainD66Table, ChainTable, CostumeTable, D66WithAbnormality, D6TwiceTable, ItemTable, MySkillNameTable, RandomEventTable, SkillGetTable, SkillHometown, SkillTable, TableWithAbnormality, WorkWithChanceTable

Constant Summary collapse

ID =

ゲームシステムの識別子

'BeginningIdol'
NAME =

ゲームシステム名

'ビギニングアイドル'
SORT_KEY =

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

'ひきにんくあいとる'
HELP_MESSAGE =

ダイスボットの使い方

<<~INFO_MESSAGE_TEXT
  ・パフォーマンス [r]PDn[+m/-m](r:場に残った出目 n:振る数 m:修正値)
  ・ワールドセッティング仕事表 BWT:大手芸能プロ LWT:弱小芸能プロ
   TWT:ライブシアター CWT:アイドル部 LO[n]:地方アイドル(n:チャンス)
   SU:情熱の夏 WI:ぬくもりの冬 NA:大自然 GA:女学園 BA:アカデミー
  ・仕事表 WT VA:バラエティ MU:音楽関係 DR:ドラマ関係
   VI:ビジュアル関係 SP:スポーツ CHR:クリスマス PAR:パートナー関係
   SW:お菓子 AN:動物 MOV:映画 FA:ファンタジー
  ・ランダムイベント RE
  ・ハプニング表 HA
  ・特技リスト AT[n](n:分野No.)
  ・アイドルスキル修得表 SGT:チャレンジガールズ RS:ロードトゥプリンス
  ・変調 BT[n](n:発生数)
  ・アイテム IT[n](n:獲得数)
  ・アクセサリー ACT:種別決定 ACB:ブランド決定 ACE:効果表
  ・衣装 DT:チャレンジガールズ RC:ロードトゥプリンス FC:フォーチュンスターズ
  ・無茶ぶり表 LUR:地方アイドル SUR:情熱の夏 WUR:ぬくもりの冬
   NUR:大自然 GUR:女学園 BUR:アカデミー
  ・センタールール HW:向かい風シーン表 FL:駆け出しシーン表 LN:孤独表
   マイスキル【MS:名前決定 MSE:効果表】 演出表【ST FST:ファンタジー】
  ・合宿ルール 散策表【SH:ショッピングモール MO:山 SEA:海 SPA:温泉街】
   TN:夜語りシチュエーション表 成長表【CG:コモン GG:ゴールド】
  ・サビ表 CHO SCH:情熱の夏 WCH:ぬくもりの冬 NCH:大自然
   GCH:女性向け PCH:力強い
  ・キャラ空白表 CBT:チャレンジガールズ RCB:ロードトゥプリンス
  ・趣味空白表 HBT:チャレンジガールズ RHB:ロードトゥプリンス
  ・マスコット暴走表 RU
  ・アイドル熱湯風呂 nC:バーストタイム(n:温度) BU:バースト表
  ・攻撃 n[S]A[r][+m/-m](n:振る数 S:失敗しない r:取り除く出目 m:修正値)
  ・かんたんパーソン表 SIP
  ・会場表
   BVT:大手芸能プロ LVT:弱小芸能プロ TVT:ライブシアター CVT:アイドル部
  ・場所表
   BST:大手芸能プロ LST:弱小芸能プロ TST:ライブシアター CST:アイドル部
  ・プレッシャー種別決定表
   BPT:大手芸能プロ LPT:弱小芸能プロ TPT:ライブシアター CPT:アイドル部
  ・道具表
   BIT:大手芸能プロ LIT:弱小芸能プロ TIT:ライブシアター CIT:アイドル部
  []内は省略可 D66入れ替えあり
INFO_MESSAGE_TEXT
TABLES =
translate_tables(:ja_jp)
BAD_STATUS_TABLE =
BadStatusTable.new(:ja_jp)
LOCAL_WORK_TABLE =
translate_local_work_table(:ja_jp)
ITEM_TABLE =
ItemTable.new(:ja_jp)
SKILL_TABLE =
translate_skill_table(:ja_jp)

Instance Attribute Summary

Attributes inherited from Base

#d66_sort_type, #default_cmp_op, #default_target_number, #randomizer, #reroll_dice_reroll_threshold, #round_type, #sides_implicit_d, #upper_dice_reroll_threshold

Instance Method Summary collapse

Methods inherited from Base

#change_text, #check_result, command_pattern, #enable_debug, #enabled_d9?, eval, #eval, #grich_text, prefixes_pattern, register_prefix, register_prefix_from_super_class, #sort_add_dice?, #sort_barabara_dice?

Methods included from Translate

#translate

Constructor Details

#initialize(command) ⇒ BeginningIdol

Returns a new instance of BeginningIdol.



68
69
70
71
72
73
# File 'lib/bcdice/game_system/BeginningIdol.rb', line 68

def initialize(command)
  super(command)

  @sort_add_dice = true
  @d66_sort_type = D66SortType::ASC
end

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



92
93
94
95
96
97
98
99
100
101
# File 'lib/bcdice/game_system/BeginningIdol.rb', line 92

def eval_game_system_specific_command(command)
  roll_attack(command) ||
    roll_burst(command) ||
    roll_performance(command) ||
    self.class::SKILL_TABLE.roll_command(@randomizer, command) ||
    self.class::ITEM_TABLE.roll_command(@randomizer, command) ||
    self.class::BAD_STATUS_TABLE.roll_command(@randomizer, command) ||
    self.class::LOCAL_WORK_TABLE.roll_command(@randomizer, command) ||
    roll_tables(command, self.class::TABLES)
end

#result_nd6(total, dice_total, _value_list, cmp_op, target) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/bcdice/game_system/BeginningIdol.rb', line 75

def result_nd6(total, dice_total, _value_list, cmp_op, target)
  return nil if target == '?'
  return nil unless cmp_op == :>=

  if dice_total <= 2
    Result.fumble(translate("BeginningIdol.fumble"))
  elsif dice_total >= 12
    Result.critical(translate("BeginningIdol.special"))
  elsif total >= target
    Result.success(translate("success"))
  else
    Result.failure(translate("failure"))
  end
end