Room::IsChaosWish() -> OptionManager::ExistsWishRoleChaos()
@@ -296,7 +296,8 @@ | ||
296 | 296 | //希望制配役 |
297 | 297 | private static function CastWishRole() { |
298 | 298 | $stack = self::Stack(); |
299 | - $stack->Set(self::WISH, DB::$ROOM->IsChaosWish() || DB::$ROOM->IsOption('step')); //特殊村用 | |
299 | + //特殊村用 | |
300 | + $stack->Set(self::WISH, OptionManager::ExistsWishRoleChaos() || DB::$ROOM->IsOption('step')); | |
300 | 301 | |
301 | 302 | foreach ($stack->Get(self::USER) as $uname) { |
302 | 303 | $role = self::GetWishRole($uname); //希望役職を取得 |
@@ -3,9 +3,6 @@ | ||
3 | 3 | //-- オプションフィルタデータベース --// |
4 | 4 | final class OptionFilterData { |
5 | 5 | //-- 役職グループ --// |
6 | - //闇鍋モードグループ | |
7 | - public static $group_chaos = ['chaos', 'chaosfull', 'chaos_hyper', 'chaos_verso']; | |
8 | - | |
9 | 6 | //村人置換村グループ |
10 | 7 | public static $group_replace_human = [ |
11 | 8 | 'replace_human', 'full_mad', 'full_cupid', 'full_quiz', 'full_vampire', |
@@ -12,6 +9,18 @@ | ||
12 | 9 | 'full_chiroptera', 'full_patron', 'full_mania', 'full_unknown_mania' |
13 | 10 | ]; |
14 | 11 | |
12 | + //闇鍋モードグループ | |
13 | + public static $group_chaos = ['chaos', 'chaosfull', 'chaos_hyper', 'chaos_verso']; | |
14 | + | |
15 | + //闇鍋式希望制グループ (村人置換 + 闇鍋を追加) | |
16 | + public static $group_wish_role_chaos = [ | |
17 | + 'duel', 'festival', | |
18 | + 'change_common', 'change_hermit_common', | |
19 | + 'change_mad', 'change_fanatic_mad', 'change_whisper_mad', 'change_immolate_mad', | |
20 | + 'change_cupid', 'change_mind_cupid', 'change_triangle_cupid', | |
21 | + 'change_angel', 'change_exchange_angel' | |
22 | + ]; | |
23 | + | |
15 | 24 | //-- Cast::Get() --// |
16 | 25 | //基礎配役 (順番依存あり) |
17 | 26 | public static $cast_base = [ |
@@ -39,7 +39,7 @@ | ||
39 | 39 | |
40 | 40 | //オプション存在判定 (村人置換村) |
41 | 41 | public static function ExistsReplaceHuman() { |
42 | - return self::Exists('group_replace_human') | |
42 | + return self::Exists('group_replace_human'); | |
43 | 43 | } |
44 | 44 | |
45 | 45 | //オプション存在判定 (闇鍋モード) |
@@ -47,6 +47,12 @@ | ||
47 | 47 | return self::Exists('group_chaos'); |
48 | 48 | } |
49 | 49 | |
50 | + //オプション存在判定 (闇鍋式希望制) | |
51 | + public static function ExistsWishRoleChaos() { | |
52 | + return self::ExistsReplaceHuman() || self::ExistsChaos() || | |
53 | + self::Exists('group_wish_role_chaos'); | |
54 | + } | |
55 | + | |
50 | 56 | //オプションクラスロード |
51 | 57 | public static function GetFilter($type) { |
52 | 58 | foreach (OptionFilterData::$$type as $option) { |
@@ -21,7 +21,7 @@ | ||
21 | 21 | } |
22 | 22 | |
23 | 23 | //固有判定 |
24 | - if (DB::$ROOM->IsChaosWish()) { | |
24 | + if (OptionManager::ExistsWishRoleChaos()) { | |
25 | 25 | if (DB::$ROOM->IsOption('detective')) { |
26 | 26 | $stack[] = 'detective_common'; |
27 | 27 | } |
@@ -118,13 +118,6 @@ | ||
118 | 118 | return $this->IsOption('quiz'); |
119 | 119 | } |
120 | 120 | |
121 | - //闇鍋式希望制オプション判定 | |
122 | - public function IsChaosWish() { | |
123 | - return OptionManager::ExistsChaos() || $this->IsOption('duel') || | |
124 | - $this->IsOption('festival') || OptionManager::ExistsReplaceHuman() || | |
125 | - $this->IsOptionGroup('change_'); | |
126 | - } | |
127 | - | |
128 | 121 | //-- イベント関連 --// |
129 | 122 | //イベント情報を DB から取得 |
130 | 123 | public function LoadEvent() { |