Class: BCDice::GameSystem::AnimaAnimus
- Defined in:
- lib/bcdice/game_system/AnimaAnimus.rb
Constant Summary collapse
- ID =
ゲームシステムの識別子
'AnimaAnimus'
- NAME =
ゲームシステム名
'アニマアニムス'
- SORT_KEY =
ゲームシステム名の読みがな
「ゲームシステム名の読みがなの設定方法」(docs/dicebot_sort_key.md)を参考にして設定してください
'あにまあにむす'
- HELP_MESSAGE =
ダイスボットの使い方
"\u30FB\u884C\u70BA\u5224\u5B9A(xAN<=y\u00B1z)\n\u3000\u5341\u9762\u30C0\u30A4\u30B9\u3092x\u500B\u632F\u3063\u3066\u5224\u5B9A\u3057\u307E\u3059\u3002\u9054\u6210\u5024\u304C\u7B97\u51FA\u3055\u308C\u307E\u3059(\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u767A\u751F\u6642\u306F2\u5897\u52A0)\u3002\n\u3000x\uFF1A\u632F\u308B\u30C0\u30A4\u30B9\u306E\u6570\u3002\u9B42\u9B44\u5024\u3084\u653B\u6483\u5024\u3002\n\u3000y\uFF1A\u6210\u529F\u5024\u3002\n\u3000z\uFF1A\u6210\u529F\u5024\u3078\u306E\u88DC\u6B63\u3002\u7701\u7565\u53EF\u80FD\u3002\n\u3000(\u4F8B) 2AN<=3+1 5AN<=7\n\u30FB\u5404\u7A2E\u8868\n\u3000\u60C5\u5831\u53CE\u96C6\u8868\u3000IGT/\u55AA\u5931\u8868\u3000LT\n"
- TABLES =
{ 'IGT' => DiceTable::Table.new( '情報収集表', '1d10', [ 'ストリートファイト/<格闘>/「俺に勝てたら教えてやるよ」情報を知る魂願者から勝負を挑まれた。生き延びるためにもこの勝負、負けるわけにはいかない。', '追跡!/<追跡/逃走>/有益な情報を持っている人間を見つけたが、こちらの顔を見るなり逃げ出した。どうにかして捕まえなくてはならない。', '脅し/<威圧>/ならず者たちが集まるバーにやってきた。裏社会に生きる彼らを脅せば有益な情報が手に入るはずだ。', 'インターネット/<コンピュータ>/SNSやニュースなど、インターネット上の情報を調査する。デマには騙されないようにしなくては。', '瀕死の情報提供者/<医学>/情報を知る人物がいると聞いてやってきたら、その人物が瀕死の重傷を負っていた。なんとかして蘇生させなくては。', '潜入捜査/<隠密>/敵対する魂願者たちのグループに潜り込んでの調査活動。リスクは高いが、有益な情報が手に入る確率は高い。', '情報交換/<交渉>/友好的な関係にある魂願者との情報交換。うまく話を聞き出すことができるとよいが。', '魔宴の情報屋/<調達>/魔宴の情報屋に接触して情報を聞き出すことにした。一筋縄ではいかない相手らしいが、はたして……?', '違法調査/<犯罪>/法に触れるやり方で情報を集めることにした。ハッキング、窃盗、恐喝、どんな手段を選ぼうか。', '聞き込み/<自我>/街ゆく人びとに聞き込みを行なう。地道な活動こそが目標にたどり着くための最短の方法だ。', ] ), 'LT' => DiceTable::RangeTable.new( '喪失表', '1d10', [ [1..2, "存在/存在が希薄になり、知り合いや友人に自分の存在を忘れられてしまう。いずれ大切なパートナーの記憶からも消え、この世界でひとりぼっちになる。\nあなたの出自を消去すること。"], [3..4, "記憶/自分の大切な記憶をひとつ失なう。これからは力を使うたびに記憶をひとつ失なうことになり、最後には大切なパートナーのことも思い出せなくなってしまう。\nあなたのメモリアをひとつ選択して消去すること。シナリオメモリアは選択できない。"], [5..6, "容姿/だんだんと以前とはかけ離れた姿に変わっていく。いずれ誰も自分のことを自分だと気づかなくなるのだろう。\nあなたの特徴的な外見を失なう。内容をふさわしいものに書き換えること(特徴的な外見が美しい髪であれば醜い髪など)。"], [7..8, "感情/喜怒哀楽の感情のうち、いずれかひとつを失なう。力を使うたびに他の感情も失っていき、最後にはただ生き残るために戦う機械となる。\nポジティブかネガティブのどちらかを選択する。選択した感情をすべてのメモリアから消去する。消去した結果、表出感情がなくなってしまった場合、残った感情を表出感情にすること。なお、新しくメモリアを取得した場合も、選んだ感情を得ることはできない。"], [9..10, "五感/少しずつ五感が鈍くなる。今までできていたはずのことができなくなってしまう。\nあなたの特技をひとつ選択する。選択した特技に×をつけること。×が付いた技能で判定を行なうことはできず、判定を求められた場合は自動的に失敗となる。"], ] ), }.freeze
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, #initialize, prefixes_pattern, register_prefix, register_prefix_from_super_class, #sort_add_dice?, #sort_barabara_dice?
Methods included from Translate
Constructor Details
This class inherits a constructor from BCDice::Base
Instance Method Details
#check_action(match_data) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/bcdice/game_system/AnimaAnimus.rb', line 43 def check_action(match_data) dice_cnt = ArithmeticEvaluator.eval(match_data[1]) target = ArithmeticEvaluator.eval(match_data[2]) debug("dice_cnt", dice_cnt) debug("target", target) dice_arr = @randomizer.(dice_cnt, 10) dice_str = dice_arr.join(",") suc_cnt = dice_arr.count { |x| x <= target } has_critical = dice_arr.include?(1) result = has_critical ? suc_cnt + 2 : suc_cnt return "(#{dice_cnt}B10<=#{target}) > #{dice_str} > #{result > 0 ? '成功' : '失敗'}(達成値:#{result})#{has_critical ? ' (クリティカル発生)' : ''}" end |
#eval_game_system_specific_command(command) ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/bcdice/game_system/AnimaAnimus.rb', line 34 def eval_game_system_specific_command(command) case command when /(\d+)AN<=(\d+([+\-]\d+)*)/i return check_action(Regexp.last_match) else return roll_tables(command, TABLES) end end |