bcdice 3.0.0.pre.alpha.1 → 3.0.0.pre.alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -1
- data/.rubocop.yml +12 -0
- data/.rubocop_todo.yml +1 -0
- data/CHANGELOG.md +34 -0
- data/Gemfile +6 -3
- data/Rakefile +52 -18
- data/bcdice.gemspec +2 -0
- data/i18n/Amadeus/ja_jp.yml +386 -0
- data/i18n/Amadeus/ko_kr.yml +148 -0
- data/i18n/Cthulhu/ja_jp.yml +11 -0
- data/i18n/Cthulhu/ko_kr.yml +11 -0
- data/i18n/Cthulhu/zh_hant.yml +11 -0
- data/i18n/DetatokoSaga/ja_jp.yml +74 -0
- data/i18n/DetatokoSaga/ko_kr.yml +74 -0
- data/i18n/DoubleCross/ja_jp.yml +53 -0
- data/i18n/DoubleCross/ko_kr.yml +53 -0
- data/i18n/Dracurouge/ja_jp.yml +1374 -0
- data/i18n/Dracurouge/ko_kr.yml +295 -0
- data/i18n/Fiasco/ja_jp.yml +10 -0
- data/i18n/Fiasco/ko_kr.yml +10 -0
- data/i18n/FutariSousa/ja_jp.yml +720 -0
- data/i18n/FutariSousa/ko_kr.yml +746 -0
- data/i18n/Insane/ja_jp.yml +454 -0
- data/i18n/Insane/ko_kr.yml +502 -0
- data/i18n/Kamigakari/ja_jp.yml +276 -0
- data/i18n/Kamigakari/ko_kr.yml +204 -0
- data/i18n/KillDeathBusiness/ja_jp.yml +1092 -0
- data/i18n/KillDeathBusiness/ko_kr.yml +1062 -0
- data/i18n/LogHorizon/ja_jp.yml +3082 -0
- data/i18n/LogHorizon/ko_kr.yml +923 -0
- data/i18n/MagicaLogia/ja_jp.yml +564 -0
- data/i18n/MonotoneMuseum/ja_jp.yml +525 -0
- data/i18n/MonotoneMuseum/ko_kr.yml +89 -0
- data/i18n/Nechronica/ja_jp.yml +57 -0
- data/i18n/Nechronica/ko_kr.yml +14 -0
- data/i18n/StratoShout/ja_jp.yml +160 -0
- data/i18n/StratoShout/ko_kr.yml +160 -0
- data/i18n/ja_jp.yml +5 -0
- data/i18n/ko_kr.yml +7 -0
- data/i18n/zh_hant.yml +3 -0
- data/lib/bcdice/arithmetic/node.rb +154 -0
- data/lib/bcdice/base.rb +87 -101
- data/lib/bcdice/common_command.rb +2 -0
- data/lib/bcdice/common_command/add_dice.rb +5 -41
- data/lib/bcdice/common_command/add_dice/node.rb +92 -16
- data/lib/bcdice/common_command/add_dice/parser.rb +374 -274
- data/lib/bcdice/common_command/add_dice/parser.y +153 -0
- data/lib/bcdice/common_command/add_dice/randomizer.rb +25 -33
- data/lib/bcdice/common_command/barabara_dice.rb +6 -47
- data/lib/bcdice/common_command/barabara_dice/node.rb +84 -0
- data/lib/bcdice/common_command/barabara_dice/parser.rb +336 -0
- data/lib/bcdice/common_command/barabara_dice/parser.y +107 -0
- data/lib/bcdice/common_command/calc.rb +7 -30
- data/lib/bcdice/common_command/calc/node.rb +30 -0
- data/lib/bcdice/common_command/calc/parser.rb +271 -0
- data/lib/bcdice/common_command/calc/parser.y +79 -0
- data/lib/bcdice/common_command/choice.rb +137 -19
- data/lib/bcdice/common_command/d66_dice.rb +48 -34
- data/lib/bcdice/common_command/lexer.rb +46 -0
- data/lib/bcdice/common_command/repeat.rb +102 -0
- data/lib/bcdice/common_command/reroll_dice.rb +8 -158
- data/lib/bcdice/common_command/reroll_dice/node.rb +198 -0
- data/lib/bcdice/common_command/reroll_dice/parser.rb +421 -0
- data/lib/bcdice/common_command/reroll_dice/parser.y +158 -0
- data/lib/bcdice/common_command/upper_dice.rb +10 -129
- data/lib/bcdice/common_command/upper_dice/node.rb +181 -0
- data/lib/bcdice/common_command/upper_dice/parser.rb +412 -0
- data/lib/bcdice/common_command/upper_dice/parser.y +143 -0
- data/lib/bcdice/common_command/version.rb +9 -17
- data/lib/bcdice/deprecated/checker.rb +78 -0
- data/lib/bcdice/dice_table/d66_grid_table.rb +8 -0
- data/lib/bcdice/dice_table/d66_table.rb +10 -0
- data/lib/bcdice/dice_table/sai_fic_skill_table.rb +75 -17
- data/lib/bcdice/dice_table/sai_fic_skill_table/category.rb +25 -0
- data/lib/bcdice/dice_table/sai_fic_skill_table/skill.rb +23 -0
- data/lib/bcdice/dice_table/table.rb +8 -0
- data/lib/bcdice/game_system.rb +7 -1
- data/lib/bcdice/game_system/AFF2e.rb +1 -1
- data/lib/bcdice/game_system/AceKillerGene.rb +2 -2
- data/lib/bcdice/game_system/Airgetlamh.rb +3 -3
- data/lib/bcdice/game_system/Alsetto.rb +1 -1
- data/lib/bcdice/game_system/Alshard.rb +1 -1
- data/lib/bcdice/game_system/AlterRaise.rb +2 -2
- data/lib/bcdice/game_system/Amadeus.rb +46 -507
- data/lib/bcdice/game_system/Amadeus_Korean.rb +12 -456
- data/lib/bcdice/game_system/AnimaAnimus.rb +1 -1
- data/lib/bcdice/game_system/Arianrhod.rb +0 -1
- data/lib/bcdice/game_system/ArsMagica.rb +1 -1
- data/lib/bcdice/game_system/Avandner.rb +1 -1
- data/lib/bcdice/game_system/BBN.rb +1 -1
- data/lib/bcdice/game_system/BadLife.rb +1 -1
- data/lib/bcdice/game_system/BarnaKronika.rb +1 -1
- data/lib/bcdice/game_system/BeastBindTrinity.rb +1 -2
- data/lib/bcdice/game_system/BeginningIdol.rb +2 -3
- data/lib/bcdice/game_system/BeginningIdol_Korean.rb +2 -3
- data/lib/bcdice/game_system/BladeOfArcana.rb +2 -2
- data/lib/bcdice/game_system/BlindMythos.rb +1 -1
- data/lib/bcdice/game_system/BloodCrusade.rb +0 -1
- data/lib/bcdice/game_system/BloodMoon.rb +0 -1
- data/lib/bcdice/game_system/CardRanker.rb +1 -2
- data/lib/bcdice/game_system/ChaosFlare.rb +1 -1
- data/lib/bcdice/game_system/Chill.rb +1 -1
- data/lib/bcdice/game_system/CodeLayerd.rb +1 -1
- data/lib/bcdice/game_system/ColossalHunter.rb +1 -2
- data/lib/bcdice/game_system/Comes.rb +50 -0
- data/lib/bcdice/game_system/CrashWorld.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu.rb +94 -97
- data/lib/bcdice/game_system/Cthulhu7th.rb +108 -67
- data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +1 -1
- data/lib/bcdice/game_system/CthulhuTech.rb +8 -14
- data/lib/bcdice/game_system/Cthulhu_ChineseTraditional.rb +7 -190
- data/lib/bcdice/game_system/Cthulhu_Korean.rb +5 -186
- data/lib/bcdice/game_system/DarkBlaze.rb +9 -5
- data/lib/bcdice/game_system/DarkDaysDrive.rb +17 -15
- data/lib/bcdice/game_system/DarkSouls.rb +1 -1
- data/lib/bcdice/game_system/DeadlineHeroes.rb +2 -2
- data/lib/bcdice/game_system/DemonParasite.rb +1 -2
- data/lib/bcdice/game_system/DetatokoSaga.rb +48 -149
- data/lib/bcdice/game_system/DetatokoSaga_Korean.rb +6 -274
- data/lib/bcdice/game_system/DiceOfTheDead.rb +9 -6
- data/lib/bcdice/game_system/DoubleCross.rb +102 -81
- data/lib/bcdice/game_system/DoubleCross_Korean.rb +13 -330
- data/lib/bcdice/game_system/Dracurouge.rb +376 -1678
- data/lib/bcdice/game_system/Dracurouge_Korean.rb +16 -271
- data/lib/bcdice/game_system/EarthDawn.rb +1 -1
- data/lib/bcdice/game_system/EarthDawn3.rb +1 -1
- data/lib/bcdice/game_system/EarthDawn4.rb +1 -1
- data/lib/bcdice/game_system/Elysion.rb +3 -4
- data/lib/bcdice/game_system/EmbryoMachine.rb +1 -1
- data/lib/bcdice/game_system/Emoklore.rb +131 -0
- data/lib/bcdice/game_system/EndBreaker.rb +1 -2
- data/lib/bcdice/game_system/EtrianOdysseySRS.rb +1 -1
- data/lib/bcdice/game_system/Fiasco.rb +87 -70
- data/lib/bcdice/game_system/Fiasco_Korean.rb +7 -95
- data/lib/bcdice/game_system/FilledWith.rb +462 -566
- data/lib/bcdice/game_system/FullMetalPanic.rb +1 -1
- data/lib/bcdice/game_system/FutariSousa.rb +103 -938
- data/lib/bcdice/game_system/FutariSousa_Korean.rb +7 -948
- data/lib/bcdice/game_system/{Gurps.rb → GURPS.rb} +184 -217
- data/lib/bcdice/game_system/Garako.rb +131 -39
- data/lib/bcdice/game_system/GardenOrder.rb +2 -2
- data/lib/bcdice/game_system/GehennaAn.rb +1 -1
- data/lib/bcdice/game_system/GeishaGirlwithKatana.rb +1 -1
- data/lib/bcdice/game_system/GoblinSlayer.rb +1 -1
- data/lib/bcdice/game_system/GoldenSkyStories.rb +1 -1
- data/lib/bcdice/game_system/Gorilla.rb +1 -1
- data/lib/bcdice/game_system/GranCrest.rb +2 -3
- data/lib/bcdice/game_system/GundogRevised.rb +1 -1
- data/lib/bcdice/game_system/GundogZero.rb +1 -1
- data/lib/bcdice/game_system/GurpsFW.rb +2 -3
- data/lib/bcdice/game_system/HarnMaster.rb +2 -2
- data/lib/bcdice/game_system/HatsuneMiku.rb +1 -2
- data/lib/bcdice/game_system/HouraiGakuen.rb +1 -1
- data/lib/bcdice/game_system/HuntersMoon.rb +1 -2
- data/lib/bcdice/game_system/Illusio.rb +2 -2
- data/lib/bcdice/game_system/Insane.rb +90 -717
- data/lib/bcdice/game_system/Insane_Korean.rb +7 -719
- data/lib/bcdice/game_system/Kamigakari.rb +47 -242
- data/lib/bcdice/game_system/Kamigakari_Korean.rb +6 -394
- data/lib/bcdice/game_system/KanColle.rb +3 -3
- data/lib/bcdice/game_system/KemonoNoMori.rb +1 -1
- data/lib/bcdice/game_system/KillDeathBusiness.rb +162 -1144
- data/lib/bcdice/game_system/KillDeathBusiness_Korean.rb +6 -1459
- data/lib/bcdice/game_system/KurayamiCrying.rb +1 -1
- data/lib/bcdice/game_system/LiveraDoll.rb +2 -2
- data/lib/bcdice/game_system/LogHorizon.rb +350 -3379
- data/lib/bcdice/game_system/LogHorizon_Korean.rb +55 -1357
- data/lib/bcdice/game_system/LostRecord.rb +0 -1
- data/lib/bcdice/game_system/LostRoyal.rb +1 -2
- data/lib/bcdice/game_system/MagicaLogia.rb +158 -1044
- data/lib/bcdice/game_system/MeikyuDays.rb +1 -2
- data/lib/bcdice/game_system/MeikyuKingdom.rb +4 -4
- data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +4 -5
- data/lib/bcdice/game_system/MetalHead.rb +1 -1
- data/lib/bcdice/game_system/MetalHeadExtream.rb +2 -2
- data/lib/bcdice/game_system/MetallicGuardian.rb +1 -1
- data/lib/bcdice/game_system/MonotoneMuseum.rb +38 -239
- data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +10 -270
- data/lib/bcdice/game_system/NSSQ.rb +159 -0
- data/lib/bcdice/game_system/Nechronica.rb +34 -73
- data/lib/bcdice/game_system/Nechronica_Korean.rb +11 -128
- data/lib/bcdice/game_system/NeverCloud.rb +1 -1
- data/lib/bcdice/game_system/NightWizard.rb +1 -1
- data/lib/bcdice/game_system/NightWizard3rd.rb +1 -1
- data/lib/bcdice/game_system/NinjaSlayer.rb +12 -11
- data/lib/bcdice/game_system/NjslyrBattle.rb +1 -1
- data/lib/bcdice/game_system/OneWayHeroics.rb +1 -2
- data/lib/bcdice/game_system/OracleEngine.rb +1 -1
- data/lib/bcdice/game_system/OrgaRain.rb +2 -2
- data/lib/bcdice/game_system/Paradiso.rb +1 -1
- data/lib/bcdice/game_system/Paranoia.rb +1 -1
- data/lib/bcdice/game_system/ParanoiaRebooted.rb +1 -1
- data/lib/bcdice/game_system/ParasiteBlood.rb +1 -1
- data/lib/bcdice/game_system/Peekaboo.rb +22 -122
- data/lib/bcdice/game_system/Postman.rb +2 -2
- data/lib/bcdice/game_system/PulpCthulhu.rb +3 -3
- data/lib/bcdice/game_system/Raisondetre.rb +2 -2
- data/lib/bcdice/game_system/RecordOfLodossWar.rb +1 -1
- data/lib/bcdice/game_system/RecordOfSteam.rb +1 -1
- data/lib/bcdice/game_system/RokumonSekai2.rb +1 -1
- data/lib/bcdice/game_system/RuinBreakers.rb +296 -0
- data/lib/bcdice/game_system/Ryutama.rb +1 -1
- data/lib/bcdice/game_system/SRS.rb +1 -2
- data/lib/bcdice/game_system/SamsaraBallad.rb +1 -1
- data/lib/bcdice/game_system/Satasupe.rb +1 -2
- data/lib/bcdice/game_system/ScreamHighSchool.rb +2 -2
- data/lib/bcdice/game_system/SevenFortressMobius.rb +1 -1
- data/lib/bcdice/game_system/ShadowRun5.rb +2 -2
- data/lib/bcdice/game_system/SharedFantasia.rb +1 -1
- data/lib/bcdice/game_system/ShinMegamiTenseiKakuseihen.rb +1 -1
- data/lib/bcdice/game_system/ShinkuuGakuen.rb +2 -2
- data/lib/bcdice/game_system/ShinobiGami.rb +1 -2
- data/lib/bcdice/game_system/ShoujoTenrankai.rb +2 -2
- data/lib/bcdice/game_system/Skynauts.rb +1 -1
- data/lib/bcdice/game_system/SteamPunkers.rb +1 -1
- data/lib/bcdice/game_system/StellarKnights.rb +1 -2
- data/lib/bcdice/game_system/SterileLife.rb +1 -1
- data/lib/bcdice/game_system/StrangerOfSwordCity.rb +1 -2
- data/lib/bcdice/game_system/StratoShout.rb +44 -247
- data/lib/bcdice/game_system/StratoShout_Korean.rb +6 -282
- data/lib/bcdice/game_system/Strave.rb +2 -2
- data/lib/bcdice/game_system/SwordWorld.rb +8 -9
- data/lib/bcdice/game_system/SwordWorld2_0.rb +2 -3
- data/lib/bcdice/game_system/SwordWorld2_5.rb +2 -3
- data/lib/bcdice/game_system/TherapieSein.rb +1 -1
- data/lib/bcdice/game_system/TokumeiTenkousei.rb +1 -1
- data/lib/bcdice/game_system/TokyoGhostResearch.rb +2 -2
- data/lib/bcdice/game_system/Torg.rb +2 -2
- data/lib/bcdice/game_system/Torg1_5.rb +1 -1
- data/lib/bcdice/game_system/TorgEternity.rb +1 -1
- data/lib/bcdice/game_system/TrinitySeven.rb +1 -1
- data/lib/bcdice/game_system/TunnelsAndTrolls.rb +1 -1
- data/lib/bcdice/game_system/TwilightGunsmoke.rb +1 -2
- data/lib/bcdice/game_system/UnsungDuet.rb +139 -0
- data/lib/bcdice/game_system/Utakaze.rb +1 -1
- data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +1 -1
- data/lib/bcdice/game_system/Villaciel.rb +1 -2
- data/lib/bcdice/game_system/Warhammer.rb +1 -1
- data/lib/bcdice/game_system/Warhammer4.rb +329 -0
- data/lib/bcdice/game_system/WitchQuest.rb +1 -1
- data/lib/bcdice/game_system/WorldOfDarkness.rb +1 -1
- data/lib/bcdice/game_system/YankeeYogSothoth.rb +15 -15
- data/lib/bcdice/game_system/YearZeroEngine.rb +1 -1
- data/lib/bcdice/game_system/ZettaiReido.rb +1 -1
- data/lib/bcdice/game_system/filled_with/cook_tables.rb +119 -0
- data/lib/bcdice/game_system/filled_with/lot_tables.rb +155 -0
- data/lib/bcdice/loader.rb +6 -8
- data/lib/bcdice/preprocessor.rb +15 -40
- data/lib/bcdice/repl.rb +1 -1
- data/lib/bcdice/result.rb +83 -0
- data/lib/bcdice/translate.rb +11 -0
- data/lib/bcdice/version.rb +1 -1
- metadata +80 -4
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require "bcdice/game_system/DetatokoSaga"
|
|
4
|
+
|
|
3
5
|
module BCDice
|
|
4
6
|
module GameSystem
|
|
5
|
-
class DetatokoSaga_Korean <
|
|
7
|
+
class DetatokoSaga_Korean < DetatokoSaga
|
|
6
8
|
# ゲームシステムの識別子
|
|
7
9
|
ID = 'DetatokoSaga:Korean'
|
|
8
10
|
|
|
@@ -26,285 +28,15 @@ module BCDice
|
|
|
26
28
|
・기력 배드엔딩표 WBET (WillBadEndTable)
|
|
27
29
|
INFO_MESSAGE_TEXT
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
'\d+DS.*', '\d+JD.*',
|
|
31
|
-
'SST', 'StrengthStigmaTable',
|
|
32
|
-
'WST', 'WillStigmaTable',
|
|
33
|
-
'SBET', 'StrengthBadEndTable',
|
|
34
|
-
'WBET', 'WillBadEndTable'
|
|
35
|
-
])
|
|
31
|
+
register_prefix_from_super_class()
|
|
36
32
|
|
|
37
33
|
def initialize(command)
|
|
38
34
|
super(command)
|
|
39
35
|
|
|
40
|
-
@
|
|
41
|
-
@enabled_d66 = true
|
|
42
|
-
@d66_sort_type = D66SortType::ASC
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def eval_game_system_specific_command(command)
|
|
46
|
-
debug("eval_game_system_specific_command begin string", command)
|
|
47
|
-
|
|
48
|
-
result = checkRoll(command)
|
|
49
|
-
return result unless result.empty?
|
|
50
|
-
|
|
51
|
-
result = checkJudgeValue(command)
|
|
52
|
-
return result unless result.empty?
|
|
53
|
-
|
|
54
|
-
debug("각종표로서 처리")
|
|
55
|
-
return rollTableCommand(command)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
# 통상판정 xDS or xDSy or xDS>=z or xDSy>=z
|
|
59
|
-
def checkRoll(string)
|
|
60
|
-
debug("checkRoll begin string", string)
|
|
61
|
-
|
|
62
|
-
return '' unless /^(\d+)DS(\d+)?((>=)(\d+))?$/i =~ string
|
|
63
|
-
|
|
64
|
-
target = 8
|
|
65
|
-
|
|
66
|
-
skill = Regexp.last_match(1).to_i
|
|
67
|
-
flag = Regexp.last_match(2).to_i
|
|
68
|
-
target = Regexp.last_match(5).to_i unless Regexp.last_match(5).nil?
|
|
69
|
-
|
|
70
|
-
result = "판정! 스킬레벨:#{skill} 플래그:#{flag} 목표치:#{target}"
|
|
71
|
-
|
|
72
|
-
total, rollText = getRollResult(skill)
|
|
73
|
-
result += " > #{total}[#{rollText}] > 판정치:#{total}"
|
|
74
|
-
|
|
75
|
-
success = getSuccess(total, target)
|
|
76
|
-
result += " > #{success}"
|
|
77
|
-
|
|
78
|
-
result += getCheckFlagResult(total, flag)
|
|
79
|
-
|
|
80
|
-
return result
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
def getRollResult(skill)
|
|
84
|
-
diceCount = skill + 1
|
|
85
|
-
diceCount = 3 if skill == 0
|
|
86
|
-
|
|
87
|
-
dice = @randomizer.roll_barabara(diceCount, 6)
|
|
88
|
-
diceText = dice.join(',')
|
|
89
|
-
|
|
90
|
-
dice = dice.sort
|
|
91
|
-
dice = dice.reverse if skill != 0
|
|
92
|
-
|
|
93
|
-
total = dice[0] + dice[1]
|
|
94
|
-
|
|
95
|
-
return total, diceText
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
def getSuccess(check, target)
|
|
99
|
-
if check >= target
|
|
100
|
-
return "목표치 이상!【성공】"
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
return "목표치 미달… 【실패】"
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
def getCheckFlagResult(total, flag)
|
|
107
|
-
if total > flag
|
|
108
|
-
return ""
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
willText = getDownWill(flag)
|
|
112
|
-
result = ", 플래그 이하! 【기력#{willText}점 감소】"
|
|
113
|
-
result += " 【판정치 변경 불가】"
|
|
114
|
-
|
|
115
|
-
return result
|
|
36
|
+
@locale = :ko_kr
|
|
116
37
|
end
|
|
117
38
|
|
|
118
|
-
|
|
119
|
-
if flag >= 10
|
|
120
|
-
return "6"
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
dice = @randomizer.roll_once(6)
|
|
124
|
-
return "1D6->#{dice}"
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
# 스킬판정치 xJD or xJDy or xJDy+z or xJDy-z or xJDy/z
|
|
128
|
-
def checkJudgeValue(string)
|
|
129
|
-
debug("checkJudgeValue begin string", string)
|
|
130
|
-
|
|
131
|
-
return '' unless %r{^(\d+)JD(\d+)?(([+]|[-]|[/])(\d+))?$}i =~ string
|
|
132
|
-
|
|
133
|
-
skill = Regexp.last_match(1).to_i
|
|
134
|
-
flag = Regexp.last_match(2).to_i
|
|
135
|
-
operator = Regexp.last_match(4)
|
|
136
|
-
value = Regexp.last_match(5).to_i
|
|
137
|
-
|
|
138
|
-
result = "판정! 스킬레벨:#{skill} 플래그:#{flag}"
|
|
139
|
-
|
|
140
|
-
modifyText = getModifyText(operator, value)
|
|
141
|
-
result += " 수정치:#{modifyText}" unless modifyText.empty?
|
|
142
|
-
|
|
143
|
-
total, rollText = getRollResult(skill)
|
|
144
|
-
result += " > #{total}[#{rollText}]#{modifyText}"
|
|
145
|
-
|
|
146
|
-
totalResult = getTotalResultValue(total, value, operator)
|
|
147
|
-
result += " > #{totalResult}"
|
|
148
|
-
|
|
149
|
-
result += getCheckFlagResult(total, flag)
|
|
150
|
-
|
|
151
|
-
return result
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
def getModifyText(operator, value)
|
|
155
|
-
return '' if value == 0
|
|
156
|
-
|
|
157
|
-
operatorText =
|
|
158
|
-
case operator
|
|
159
|
-
when "+"
|
|
160
|
-
"+"
|
|
161
|
-
when "-"
|
|
162
|
-
"-"
|
|
163
|
-
when "/"
|
|
164
|
-
"÷"
|
|
165
|
-
else
|
|
166
|
-
return ""
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
return "#{operatorText}#{value}"
|
|
170
|
-
end
|
|
171
|
-
|
|
172
|
-
def getTotalResultValue(total, value, operator)
|
|
173
|
-
case operator
|
|
174
|
-
when "+"
|
|
175
|
-
return "#{total}+#{value} > 판정치:#{total + value}"
|
|
176
|
-
when "-"
|
|
177
|
-
return "#{total}-#{value} > 판정치:#{total - value}"
|
|
178
|
-
when "/"
|
|
179
|
-
return getTotalResultValueWhenSlash(total, value)
|
|
180
|
-
else
|
|
181
|
-
return "판정치:#{total}"
|
|
182
|
-
end
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
def getTotalResultValueWhenSlash(total, value)
|
|
186
|
-
return "0으로는 나누어지지 않습니다" if value == 0
|
|
187
|
-
|
|
188
|
-
quotient = ((1.0 * total) / value).ceil
|
|
189
|
-
|
|
190
|
-
result = "#{total}÷#{value} > 판정치:#{quotient}"
|
|
191
|
-
return result
|
|
192
|
-
end
|
|
193
|
-
|
|
194
|
-
####################
|
|
195
|
-
# 각종표
|
|
196
|
-
|
|
197
|
-
def rollTableCommand(command)
|
|
198
|
-
command = command.upcase
|
|
199
|
-
|
|
200
|
-
debug("eval_game_system_specific_command command", command)
|
|
201
|
-
|
|
202
|
-
name = ''
|
|
203
|
-
text = ''
|
|
204
|
-
total = 0
|
|
205
|
-
|
|
206
|
-
case command.upcase
|
|
207
|
-
when "SST", "StrengthStigmaTable".upcase
|
|
208
|
-
name, text, total = choiceStrengthStigmaTable()
|
|
209
|
-
when "WST", "WillStigmaTable".upcase
|
|
210
|
-
name, text, total = choiceWillStigmaTable()
|
|
211
|
-
when "SBET", "StrengthBadEndTable".upcase
|
|
212
|
-
name, text, total = choiceStrengthBadEndTable()
|
|
213
|
-
when "WBET", "WillBadEndTable".upcase
|
|
214
|
-
name, text, total = choiceWillBadEndTable()
|
|
215
|
-
else
|
|
216
|
-
return
|
|
217
|
-
end
|
|
218
|
-
|
|
219
|
-
result = "#{name}(#{total}) > #{text}"
|
|
220
|
-
|
|
221
|
-
return result
|
|
222
|
-
end
|
|
223
|
-
|
|
224
|
-
# ##표 목록
|
|
225
|
-
|
|
226
|
-
def choiceStrengthStigmaTable()
|
|
227
|
-
name = "체력 낙인표"
|
|
228
|
-
table = [
|
|
229
|
-
"당신은 【낙인】을 2개 받는다. 이 표를 다시 2번 굴려 받을 【낙인】을 정한다(그 경우, 다시 이 눈이 나와도 【낙인】은 늘어나지 않는다).",
|
|
230
|
-
"【상처】 심한 상처를 입었다. 어떻게든 싸울 수는 있지만…….",
|
|
231
|
-
"【출혈】 피가 흘러넘쳐, 눈이 흐릿하다…….",
|
|
232
|
-
"【쇠약】 몸이 약해져, 그 마음마저도 시들어버릴 거 같다.",
|
|
233
|
-
"【고통】 아픔과 괴로움, 한심함. 눈에서 눈물이 새어 나온다.",
|
|
234
|
-
"【충격】 날려져서, 벽이나 나무에 부딪힌다. 빨리 일어서지 않으면.",
|
|
235
|
-
"【피로】 당신의 얼굴에 피로의 색이 강해진다……이 싸움이 힘겨워졌다.",
|
|
236
|
-
"【노호】 성가신 공격에 분노의 함성을 지른다. 분노가 싸움을 어렵게 할까?",
|
|
237
|
-
"【부상】 상처를 입었다…….",
|
|
238
|
-
"【경상】 당신의 피부에 상처가 남았다. 이것만이라면 아무렇지도 않다.",
|
|
239
|
-
"기적적으로 당신은 【낙인】을 받지 않았다.",
|
|
240
|
-
]
|
|
241
|
-
|
|
242
|
-
text, total = get_table_by_2d6(table)
|
|
243
|
-
return name, text, total
|
|
244
|
-
end
|
|
245
|
-
|
|
246
|
-
def choiceWillStigmaTable()
|
|
247
|
-
name = "기력 낙인표"
|
|
248
|
-
|
|
249
|
-
table = [
|
|
250
|
-
"당신은 【낙인】을 2개 받는다. 이 표를 다시 2번 굴려 받을 【낙인】을 정한다(그 경우, 다시 이 눈이 나와도 【낙인】은 늘어나지 않는다).",
|
|
251
|
-
"【절망】 어떻게 하지 못하는 상황. 희망은 사라지고……무릎을 꿇을 수밖에 없다.",
|
|
252
|
-
"【통곡】 너무도 부조리함에, 어린아이처럼 울음을 터트릴 수밖에 없다.",
|
|
253
|
-
"【후회】 이럴 생각은 아니었는데. 하지만 현실은 비정했다.",
|
|
254
|
-
"【공포】 공포에 사로잡혔다! 적이, 자신의 손이, 무서워서 참을 수 없다!",
|
|
255
|
-
"【갈등】 정말로 이걸로 괜찮은 걸까? 몇 번이고 자신에게 의문이 일어난다…….",
|
|
256
|
-
"【증오】 분노와 증오에 사로잡힌 당신은, 본래의 힘을 발휘할 수 있을까?",
|
|
257
|
-
"【망연】 이것은 현실인가? 몽롱한 정신으로 당신은 생각한다.",
|
|
258
|
-
"【주저】 망설임을 가졌다. 그것은 싸울 의지를 둔하게 할 것인가?",
|
|
259
|
-
"【악몽】 이제부터 때때로, 당신은 이 순간을 악몽으로 볼 것이다.",
|
|
260
|
-
"기적적으로 당신은 【낙인】을 받지 않았다.",
|
|
261
|
-
]
|
|
262
|
-
|
|
263
|
-
text, total = get_table_by_2d6(table)
|
|
264
|
-
return name, text, total
|
|
265
|
-
end
|
|
266
|
-
|
|
267
|
-
def choiceStrengthBadEndTable()
|
|
268
|
-
name = "체력 배드엔딩표"
|
|
269
|
-
|
|
270
|
-
table = [
|
|
271
|
-
"【사망】 당신은 죽었다. 다음 세션에 참가하기 위해서는, 클래스 1개를 『몬스터』나 『암흑』으로 클래스 체인지해야만 한다.",
|
|
272
|
-
"【목숨 구걸】 당신은 공포를 느껴, 목숨을 구걸했다! 다음 세션 개시 시에, 클래스 1개가 『자코』로 변경된다!",
|
|
273
|
-
"【망각】 당신은 기억을 잃고, 우두커니 섰다. 다음 세션에 참가하기 위해서는, 클래스 1개를 변경해야만 한다.",
|
|
274
|
-
"【비극】 당신의 공격은 적이 아니라 아군을 맞췄다! 모든 것이 끝날 때까지 당신은 우두커니 서 있게 된다. 임의의 아군의 【체력】을 1D6점 감소시킨다.",
|
|
275
|
-
"【폭주】 당신은 이성을 잃고, 충동에 따라 폭주한다! 같은 씬에 있는 전원의 【체력】을 1D6점 감소시킨다.",
|
|
276
|
-
"【전락】 당신은 단애절벽에서 떨어진다.",
|
|
277
|
-
"【포로】 당신은 적에게 사로잡혔다.",
|
|
278
|
-
"【도주】 당신은 겁에 질려, 동료를 버리고 도망쳤다.",
|
|
279
|
-
"【중상】 당신은 어찌할 수 없는 상처를 입고, 쓰러졌다.",
|
|
280
|
-
"【기절】 당신은 의식을 잃었다. 그리고 정신이 들면 모든 것이 끝나있었다.",
|
|
281
|
-
"그래도 아직 일어선다! 당신은 배드엔드를 맞이하지 않았다. 체력의 【낙인】을 1개 지워도 좋다.",
|
|
282
|
-
]
|
|
283
|
-
|
|
284
|
-
text, total = get_table_by_2d6(table)
|
|
285
|
-
return name, text, total
|
|
286
|
-
end
|
|
287
|
-
|
|
288
|
-
def choiceWillBadEndTable()
|
|
289
|
-
name = "기력 배드엔딩표"
|
|
290
|
-
|
|
291
|
-
table = [
|
|
292
|
-
"【자해】 당신은 스스로 죽음을 골랐다. 다음 세션에 참가하기 위해서는 클래스 1개를 『암흑』으로 클래스 체인지해야만 한다.",
|
|
293
|
-
"【타락】 당신은 마음속의 어둠에 먹혔다. 다음 세션 개시 시에, 클래스 1개가 『암흑』이나 『몬스터』로 변경된다!",
|
|
294
|
-
"【예속】 당신은 적의 말에 거스를 수 없다. 다음 세션에 당신의 스탠스는 『종속』이 된다.",
|
|
295
|
-
"【배반】 배반의 충동. 임의의 아군의 【체력】을 1D6점 감소시키고, 그 자리에서 도망친다.",
|
|
296
|
-
"【폭주】 당신은 이성을 잃고, 충동에 따라 폭주한다! 같은 씬에 있는 전원의 【체력】을 1D6점 감소시킨다.",
|
|
297
|
-
"【저주】 마음의 어둠이 현재화한 것인가. 적의 원한인가. 저주에 삼켜진 당신은, 그저 고통에 몸부림칠 수밖에 없다.",
|
|
298
|
-
"【포로】 당신은 적에게 사로잡혀, 그 자리에서 끌려갔다.",
|
|
299
|
-
"【도주】 당신은 겁에 질려, 동료를 버리고 도망쳤다.",
|
|
300
|
-
"【방심】 당신은 그저 멍하니 서 있을 수밖에 없다. 정신을 차렸을 때, 모든 것은 끝나있었다.",
|
|
301
|
-
"【기절】 당신은 의식을 잃었다. 그리고 정신이 들면 모든 것이 끝나있었다.",
|
|
302
|
-
"그래도 아직 포기하지 않아! 당신은 배드엔드를 맞이하지 않았다. 기력의 【낙인】을 1개 지워도 좋다.",
|
|
303
|
-
]
|
|
304
|
-
|
|
305
|
-
text, total = get_table_by_2d6(table)
|
|
306
|
-
return name, text, total
|
|
307
|
-
end
|
|
39
|
+
TABLES = translate_tables(:ko_kr)
|
|
308
40
|
end
|
|
309
41
|
end
|
|
310
42
|
end
|
|
@@ -21,13 +21,12 @@ module BCDice
|
|
|
21
21
|
(上記二つは最初からシークレットダイスで行われます)
|
|
22
22
|
INFO_MESSAGE_TEXT
|
|
23
23
|
|
|
24
|
-
register_prefix(
|
|
24
|
+
register_prefix('(ZMB|BIO).*')
|
|
25
25
|
|
|
26
26
|
def initialize(command)
|
|
27
27
|
super(command)
|
|
28
28
|
|
|
29
29
|
@sort_add_dice = true
|
|
30
|
-
@enabled_d66 = true
|
|
31
30
|
@d66_sort_type = D66SortType::ASC
|
|
32
31
|
end
|
|
33
32
|
|
|
@@ -35,14 +34,18 @@ module BCDice
|
|
|
35
34
|
case command
|
|
36
35
|
when /^BIO(\d+)?$/
|
|
37
36
|
roll_times = (Regexp.last_match(1) || 1).to_i
|
|
38
|
-
@is_secret = true
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
Result.new.tap do |r|
|
|
39
|
+
r.secret = true
|
|
40
|
+
r.text = checkInfection(roll_times)
|
|
41
|
+
end
|
|
41
42
|
when /^ZMB(\+(\d+))?$/
|
|
42
43
|
value = Regexp.last_match(2).to_i
|
|
43
|
-
@is_secret = true
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
Result.new.tap do |r|
|
|
46
|
+
r.secret = true
|
|
47
|
+
r.text = rollZombie(value)
|
|
48
|
+
end
|
|
46
49
|
end
|
|
47
50
|
end
|
|
48
51
|
|
|
@@ -30,10 +30,12 @@ module BCDice
|
|
|
30
30
|
・D66ダイスあり
|
|
31
31
|
INFO_MESSAGE_TEXT
|
|
32
32
|
|
|
33
|
-
register_prefix(
|
|
33
|
+
register_prefix('\d+DX.*', 'ET')
|
|
34
34
|
|
|
35
35
|
# 成功判定コマンドのノード
|
|
36
36
|
class DX
|
|
37
|
+
include Translate
|
|
38
|
+
|
|
37
39
|
# ノードを初期化する
|
|
38
40
|
# @param [Integer] num ダイス数
|
|
39
41
|
# @param [Integer] critical_value クリティカル値
|
|
@@ -47,6 +49,8 @@ module BCDice
|
|
|
47
49
|
|
|
48
50
|
@modifier_str = Format.modifier(@modifier)
|
|
49
51
|
@expression = node_expression()
|
|
52
|
+
|
|
53
|
+
@locale = :ja_jp
|
|
50
54
|
end
|
|
51
55
|
|
|
52
56
|
# 成功判定を行う
|
|
@@ -54,11 +58,11 @@ module BCDice
|
|
|
54
58
|
# @return [String] 判定結果
|
|
55
59
|
def execute(randomizer)
|
|
56
60
|
if @critical_value < 2
|
|
57
|
-
return "(#{@expression}) >
|
|
61
|
+
return "(#{@expression}) > #{translate('DoubleCross.DX.invalid_critical')}"
|
|
58
62
|
end
|
|
59
63
|
|
|
60
64
|
if @num < 1
|
|
61
|
-
return "(#{@expression}) >
|
|
65
|
+
return "(#{@expression}) > #{translate('DoubleCross.DX.auto_failure')}"
|
|
62
66
|
end
|
|
63
67
|
|
|
64
68
|
# 出目のグループの配列
|
|
@@ -99,8 +103,7 @@ module BCDice
|
|
|
99
103
|
# @return [String]
|
|
100
104
|
def result_str(value_groups)
|
|
101
105
|
fumble = value_groups[0].values.all? { |value| value == 1 }
|
|
102
|
-
|
|
103
|
-
sum = value_groups.map(&:max).reduce(0, &:+)
|
|
106
|
+
sum = value_groups.map(&:max).sum
|
|
104
107
|
achieved_value = fumble ? 0 : (sum + @modifier)
|
|
105
108
|
|
|
106
109
|
parts = [
|
|
@@ -118,7 +121,7 @@ module BCDice
|
|
|
118
121
|
# @param [Boolean] fumble ファンブルしたか
|
|
119
122
|
# @return [String]
|
|
120
123
|
def achieved_value_with_if_fumble(achieved_value, fumble)
|
|
121
|
-
fumble ? "#{achieved_value} (
|
|
124
|
+
fumble ? "#{achieved_value} (#{translate('fumble')})" : achieved_value.to_s
|
|
122
125
|
end
|
|
123
126
|
|
|
124
127
|
# 達成値と目標値を比較した結果を返す
|
|
@@ -130,11 +133,11 @@ module BCDice
|
|
|
130
133
|
|
|
131
134
|
# ファンブル時は自動失敗
|
|
132
135
|
# [3rd ルールブック1 pp. 186-187]
|
|
133
|
-
return
|
|
136
|
+
return translate("failure") if fumble
|
|
134
137
|
|
|
135
138
|
# 達成値が目標値以上ならば行為判定成功
|
|
136
139
|
# [3rd ルールブック1 p. 187]
|
|
137
|
-
return achieved_value >= @target_value ?
|
|
140
|
+
return achieved_value >= @target_value ? translate("success") : translate("failure")
|
|
138
141
|
end
|
|
139
142
|
end
|
|
140
143
|
|
|
@@ -173,9 +176,7 @@ module BCDice
|
|
|
173
176
|
# クリティカルの発生数を返す
|
|
174
177
|
# @return [Integer]
|
|
175
178
|
def num_of_critical_occurrences
|
|
176
|
-
@values
|
|
177
|
-
.select { |value| critical?(value) }
|
|
178
|
-
.length
|
|
179
|
+
@values.count { |value| critical?(value) }
|
|
179
180
|
end
|
|
180
181
|
|
|
181
182
|
private
|
|
@@ -195,13 +196,16 @@ module BCDice
|
|
|
195
196
|
return '' if target == '?'
|
|
196
197
|
return '' unless cmp_op == :>=
|
|
197
198
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
199
|
+
result =
|
|
200
|
+
if dice_list.count(1) == dice_list.size
|
|
201
|
+
translate("fumble")
|
|
202
|
+
elsif total >= target
|
|
203
|
+
translate("success")
|
|
204
|
+
else
|
|
205
|
+
translate("failure")
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
return " > #{result}"
|
|
205
209
|
end
|
|
206
210
|
|
|
207
211
|
# ダイスボット固有コマンドの処理を行う
|
|
@@ -266,7 +270,7 @@ module BCDice
|
|
|
266
270
|
|
|
267
271
|
target_value = m[4]&.to_i
|
|
268
272
|
|
|
269
|
-
return DX.new(num, critical_value, modifier, target_value)
|
|
273
|
+
return self.class::DX.new(num, critical_value, modifier, target_value)
|
|
270
274
|
end
|
|
271
275
|
|
|
272
276
|
# 疾風怒濤式の成功判定コマンドの正規表現マッチ情報からノードを作る
|
|
@@ -279,7 +283,7 @@ module BCDice
|
|
|
279
283
|
|
|
280
284
|
target_value = m[4]&.to_i
|
|
281
285
|
|
|
282
|
-
return DX.new(num, critical_value, modifier, target_value)
|
|
286
|
+
return self.class::DX.new(num, critical_value, modifier, target_value)
|
|
283
287
|
end
|
|
284
288
|
|
|
285
289
|
# 感情表を振る
|
|
@@ -288,8 +292,8 @@ module BCDice
|
|
|
288
292
|
#
|
|
289
293
|
# @return [String]
|
|
290
294
|
def roll_emotion_table
|
|
291
|
-
pos_result = POSITIVE_EMOTION_TABLE.roll(@randomizer)
|
|
292
|
-
neg_result = NEGATIVE_EMOTION_TABLE.roll(@randomizer)
|
|
295
|
+
pos_result = self.class::POSITIVE_EMOTION_TABLE.roll(@randomizer)
|
|
296
|
+
neg_result = self.class::NEGATIVE_EMOTION_TABLE.roll(@randomizer)
|
|
293
297
|
|
|
294
298
|
positive = @randomizer.roll_once(2) == 1
|
|
295
299
|
pos_neg_text =
|
|
@@ -299,75 +303,92 @@ module BCDice
|
|
|
299
303
|
[pos_result.content, "○#{neg_result.content}"]
|
|
300
304
|
end
|
|
301
305
|
|
|
306
|
+
name = translate("DoubleCross.ET.name")
|
|
302
307
|
output_parts = [
|
|
303
|
-
"
|
|
308
|
+
"#{name}(#{pos_result.sum}-#{neg_result.sum})",
|
|
304
309
|
pos_neg_text.join(' - ')
|
|
305
310
|
]
|
|
306
311
|
|
|
307
312
|
return output_parts.join(' > ')
|
|
308
313
|
end
|
|
309
314
|
|
|
315
|
+
class << self
|
|
316
|
+
private
|
|
317
|
+
|
|
318
|
+
# @param locale [Symbol]
|
|
319
|
+
# @return [RangeTable]
|
|
320
|
+
def positive_emotion_table(locale)
|
|
321
|
+
DiceTable::RangeTable.new(
|
|
322
|
+
I18n.translate("DoubleCross.ET.positive.name", locale: locale),
|
|
323
|
+
"1D100",
|
|
324
|
+
[
|
|
325
|
+
# [0, '傾倒(けいとう)'],
|
|
326
|
+
[1..5, I18n.translate("DoubleCross.ET.positive.items.1_5", locale: locale)],
|
|
327
|
+
[6..10, I18n.translate("DoubleCross.ET.positive.items.6_10", locale: locale)],
|
|
328
|
+
[11..15, I18n.translate("DoubleCross.ET.positive.items.11_15", locale: locale)],
|
|
329
|
+
[16..20, I18n.translate("DoubleCross.ET.positive.items.16_20", locale: locale)],
|
|
330
|
+
[21..25, I18n.translate("DoubleCross.ET.positive.items.21_25", locale: locale)],
|
|
331
|
+
[26..30, I18n.translate("DoubleCross.ET.positive.items.26_30", locale: locale)],
|
|
332
|
+
[31..35, I18n.translate("DoubleCross.ET.positive.items.31_35", locale: locale)],
|
|
333
|
+
[36..40, I18n.translate("DoubleCross.ET.positive.items.36_40", locale: locale)],
|
|
334
|
+
[41..45, I18n.translate("DoubleCross.ET.positive.items.41_45", locale: locale)],
|
|
335
|
+
[46..50, I18n.translate("DoubleCross.ET.positive.items.46_50", locale: locale)],
|
|
336
|
+
[51..55, I18n.translate("DoubleCross.ET.positive.items.51_55", locale: locale)],
|
|
337
|
+
[56..60, I18n.translate("DoubleCross.ET.positive.items.56_60", locale: locale)],
|
|
338
|
+
[61..65, I18n.translate("DoubleCross.ET.positive.items.61_65", locale: locale)],
|
|
339
|
+
[66..70, I18n.translate("DoubleCross.ET.positive.items.66_70", locale: locale)],
|
|
340
|
+
[71..75, I18n.translate("DoubleCross.ET.positive.items.71_75", locale: locale)],
|
|
341
|
+
[76..80, I18n.translate("DoubleCross.ET.positive.items.76_80", locale: locale)],
|
|
342
|
+
[81..85, I18n.translate("DoubleCross.ET.positive.items.81_85", locale: locale)],
|
|
343
|
+
[86..90, I18n.translate("DoubleCross.ET.positive.items.86_90", locale: locale)],
|
|
344
|
+
[91..95, I18n.translate("DoubleCross.ET.positive.items.91_95", locale: locale)],
|
|
345
|
+
[96..100, I18n.translate("DoubleCross.ET.positive.items.96_100", locale: locale)],
|
|
346
|
+
# [101, '懐旧(かいきゅう)'],
|
|
347
|
+
# [102, '任意(にんい)'],
|
|
348
|
+
]
|
|
349
|
+
)
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
# @param locale [Symbol]
|
|
353
|
+
# @return [RangeTable]
|
|
354
|
+
def negative_emotion_table(locale)
|
|
355
|
+
DiceTable::RangeTable.new(
|
|
356
|
+
I18n.translate("DoubleCross.ET.negative.name", locale: locale),
|
|
357
|
+
"1D100",
|
|
358
|
+
[
|
|
359
|
+
# [0, '侮蔑(ぶべつ)'],
|
|
360
|
+
[1..5, I18n.translate("DoubleCross.ET.negative.items.1_5", locale: locale)],
|
|
361
|
+
[6..10, I18n.translate("DoubleCross.ET.negative.items.6_10", locale: locale)],
|
|
362
|
+
[11..15, I18n.translate("DoubleCross.ET.negative.items.11_15", locale: locale)],
|
|
363
|
+
[16..20, I18n.translate("DoubleCross.ET.negative.items.16_20", locale: locale)],
|
|
364
|
+
[21..25, I18n.translate("DoubleCross.ET.negative.items.21_25", locale: locale)],
|
|
365
|
+
[26..30, I18n.translate("DoubleCross.ET.negative.items.26_30", locale: locale)],
|
|
366
|
+
[31..35, I18n.translate("DoubleCross.ET.negative.items.31_35", locale: locale)],
|
|
367
|
+
[36..40, I18n.translate("DoubleCross.ET.negative.items.36_40", locale: locale)],
|
|
368
|
+
[41..45, I18n.translate("DoubleCross.ET.negative.items.41_45", locale: locale)],
|
|
369
|
+
[46..50, I18n.translate("DoubleCross.ET.negative.items.46_50", locale: locale)],
|
|
370
|
+
[51..55, I18n.translate("DoubleCross.ET.negative.items.51_55", locale: locale)],
|
|
371
|
+
[56..60, I18n.translate("DoubleCross.ET.negative.items.56_60", locale: locale)],
|
|
372
|
+
[61..65, I18n.translate("DoubleCross.ET.negative.items.61_65", locale: locale)],
|
|
373
|
+
[66..70, I18n.translate("DoubleCross.ET.negative.items.66_70", locale: locale)],
|
|
374
|
+
[71..75, I18n.translate("DoubleCross.ET.negative.items.71_75", locale: locale)],
|
|
375
|
+
[76..80, I18n.translate("DoubleCross.ET.negative.items.76_80", locale: locale)],
|
|
376
|
+
[81..85, I18n.translate("DoubleCross.ET.negative.items.81_85", locale: locale)],
|
|
377
|
+
[86..90, I18n.translate("DoubleCross.ET.negative.items.86_90", locale: locale)],
|
|
378
|
+
[91..95, I18n.translate("DoubleCross.ET.negative.items.91_95", locale: locale)],
|
|
379
|
+
[96..100, I18n.translate("DoubleCross.ET.negative.items.96_100", locale: locale)],
|
|
380
|
+
# [101, '無関心(むかんしん)'],
|
|
381
|
+
# [102, '任意(にんい)'],
|
|
382
|
+
]
|
|
383
|
+
).freeze
|
|
384
|
+
end
|
|
385
|
+
end
|
|
386
|
+
|
|
310
387
|
# 感情表(ポジティブ)
|
|
311
|
-
POSITIVE_EMOTION_TABLE =
|
|
312
|
-
'感情表(ポジティブ)',
|
|
313
|
-
'1D100',
|
|
314
|
-
[
|
|
315
|
-
# [0, '傾倒(けいとう)'],
|
|
316
|
-
[1..5, '好奇心(こうきしん)'],
|
|
317
|
-
[6..10, '憧憬(どうけい)'],
|
|
318
|
-
[11..15, '尊敬(そんけい)'],
|
|
319
|
-
[16..20, '連帯感(れんたいかん)'],
|
|
320
|
-
[21..25, '慈愛(じあい)'],
|
|
321
|
-
[26..30, '感服(かんぷく)'],
|
|
322
|
-
[31..35, '純愛(じゅんあい)'],
|
|
323
|
-
[36..40, '友情(ゆうじょう)'],
|
|
324
|
-
[41..45, '慕情(ぼじょう)'],
|
|
325
|
-
[46..50, '同情(どうじょう)'],
|
|
326
|
-
[51..55, '遺志(いし)'],
|
|
327
|
-
[56..60, '庇護(ひご)'],
|
|
328
|
-
[61..65, '幸福感(こうふくかん)'],
|
|
329
|
-
[66..70, '信頼(しんらい)'],
|
|
330
|
-
[71..75, '執着(しゅうちゃく)'],
|
|
331
|
-
[76..80, '親近感(しんきんかん)'],
|
|
332
|
-
[81..85, '誠意(せいい)'],
|
|
333
|
-
[86..90, '好意(こうい)'],
|
|
334
|
-
[91..95, '有為(ゆうい)'],
|
|
335
|
-
[96..100, '尽力(じんりょく)'],
|
|
336
|
-
# [101, '懐旧(かいきゅう)'],
|
|
337
|
-
# [102, '任意(にんい)'],
|
|
338
|
-
]
|
|
339
|
-
).freeze
|
|
388
|
+
POSITIVE_EMOTION_TABLE = positive_emotion_table(:ja_jp).freeze
|
|
340
389
|
|
|
341
390
|
# 感情表(ネガティブ)
|
|
342
|
-
NEGATIVE_EMOTION_TABLE =
|
|
343
|
-
'感情表(ネガティブ)',
|
|
344
|
-
'1D100',
|
|
345
|
-
[
|
|
346
|
-
# [0, '侮蔑(ぶべつ)'],
|
|
347
|
-
[1..5, '食傷(しょくしょう)'],
|
|
348
|
-
[6..10, '脅威(きょうい)'],
|
|
349
|
-
[11..15, '嫉妬(しっと)'],
|
|
350
|
-
[16..20, '悔悟(かいご)'],
|
|
351
|
-
[21..25, '恐怖(きょうふ)'],
|
|
352
|
-
[26..30, '不安(ふあん)'],
|
|
353
|
-
[31..35, '劣等感(れっとうかん)'],
|
|
354
|
-
[36..40, '疎外感(そがいかん)'],
|
|
355
|
-
[41..45, '恥辱(ちじょく)'],
|
|
356
|
-
[46..50, '憐憫(れんびん)'],
|
|
357
|
-
[51..55, '偏愛(へんあい)'],
|
|
358
|
-
[56..60, '憎悪(ぞうお)'],
|
|
359
|
-
[61..65, '隔意(かくい)'],
|
|
360
|
-
[66..70, '嫌悪(けんお)'],
|
|
361
|
-
[71..75, '猜疑心(さいぎしん)'],
|
|
362
|
-
[76..80, '厭気(いやけ)'],
|
|
363
|
-
[81..85, '不信感(ふしんかん)'],
|
|
364
|
-
[86..90, '不快感(ふかいかん)'],
|
|
365
|
-
[91..95, '憤懣(ふんまん)'],
|
|
366
|
-
[96..100, '敵愾心(てきがいしん)'],
|
|
367
|
-
# [101, '無関心(むかんしん)'],
|
|
368
|
-
# [102, '任意(にんい)'],
|
|
369
|
-
]
|
|
370
|
-
).freeze
|
|
391
|
+
NEGATIVE_EMOTION_TABLE = negative_emotion_table(:ja_jp).freeze
|
|
371
392
|
end
|
|
372
393
|
end
|
|
373
394
|
end
|