ArrayFilter::AddMerge()
@@ -830,7 +830,7 @@ | ||
830 | 830 | //プロパティ格納 |
831 | 831 | private function Store($key, array $list) { |
832 | 832 | if (count($this->$key) > 0) { |
833 | - ArrayFilter::Merge($this->$key, $list); | |
833 | + ArrayFilter::AddMerge($this->$key, $list); | |
834 | 834 | } else { |
835 | 835 | $this->$key = $list; |
836 | 836 | } |
@@ -84,7 +84,7 @@ | ||
84 | 84 | $stack[] = RoomScene::HEAVEN; |
85 | 85 | } |
86 | 86 | $query->WhereIn('scene', count($stack)); |
87 | - ArrayFilter::Merge($list, $stack); | |
87 | + ArrayFilter::AddMerge($list, $stack); | |
88 | 88 | break; |
89 | 89 | } |
90 | 90 | $query->Table($table)->Select($column); |
@@ -592,7 +592,7 @@ | ||
592 | 592 | } |
593 | 593 | |
594 | 594 | //配列追加 |
595 | - public static function Merge(array &$list, $data) { | |
595 | + public static function AddMerge(array &$list, $data) { | |
596 | 596 | if (is_array($data)) { |
597 | 597 | $list = array_merge($list, $data); |
598 | 598 | } |
@@ -876,9 +876,9 @@ | ||
876 | 876 | //処理対象コマンドチェック |
877 | 877 | $stack = VoteActionGroup::$init; |
878 | 878 | if (DB::$ROOM->IsDate(1)) { |
879 | - ArrayFilter::Merge($stack, VoteActionGroup::$init_first); | |
879 | + ArrayFilter::AddMerge($stack, VoteActionGroup::$init_first); | |
880 | 880 | } else { |
881 | - ArrayFilter::Merge($stack, VoteActionGroup::$init_after); | |
881 | + ArrayFilter::AddMerge($stack, VoteActionGroup::$init_after); | |
882 | 882 | } |
883 | 883 | $vote_data = RoleManager::GetVoteData(); |
884 | 884 | ArrayFilter::Initialize($vote_data, $stack); |
@@ -943,7 +943,7 @@ | ||
943 | 943 | |
944 | 944 | $stack = VoteActionGroup::$step; |
945 | 945 | if (DB::$ROOM->date > 1) { |
946 | - ArrayFilter::Merge($stack, VoteActionGroup::$step_after); | |
946 | + ArrayFilter::AddMerge($stack, VoteActionGroup::$step_after); | |
947 | 947 | } |
948 | 948 | |
949 | 949 | $vote_data = RoleManager::GetVoteData(); |
@@ -954,13 +954,16 @@ | ||
954 | 954 | if (DB::$ROOM->IsDate(1)) { |
955 | 955 | foreach (RoleFilterData::$step_copy as $role) { //コピー型の処理 |
956 | 956 | foreach (DB::$USER->GetRoleUser($role) as $user) { |
957 | - if (! $user->IsDummyBoy()) RoleLoader::LoadMain($user)->Step(); | |
957 | + if (false === $user->IsDummyBoy()) { | |
958 | + RoleLoader::LoadMain($user)->Step(); | |
959 | + } | |
958 | 960 | } |
959 | 961 | } |
960 | 962 | } |
961 | 963 | |
962 | 964 | EventManager::Step(); //天候処理 |
963 | - foreach ($vote_data[VoteAction::SILENT_WOLF] as $id => $target_id) { //ステルス投票カウントアップ | |
965 | + //ステルス投票カウントアップ | |
966 | + foreach ($vote_data[VoteAction::SILENT_WOLF] as $id => $target_id) { | |
964 | 967 | DB::$USER->ByID($id)->LostAbility(); |
965 | 968 | } |
966 | 969 | } |
@@ -85,7 +85,7 @@ | ||
85 | 85 | $stack = []; |
86 | 86 | foreach (CastConfig::$role_list as $key => $value) { |
87 | 87 | if ($key < $min) continue; |
88 | - ArrayFilter::Merge($stack, array_keys($value)); | |
88 | + ArrayFilter::AddMerge($stack, array_keys($value)); | |
89 | 89 | if ($key == $max) break; |
90 | 90 | } |
91 | 91 | $role_list = RoleDataManager::Sort(array_unique($stack)); //表示順を決定 |
@@ -106,7 +106,9 @@ | ||
106 | 106 | } |
107 | 107 | TableHTML::OutputTr($str); |
108 | 108 | if ($key == $max) break; |
109 | - if ($key % 20 == 0) Text::Output($header); | |
109 | + if ($key % 20 == 0) { | |
110 | + Text::Output($header); | |
111 | + } | |
110 | 112 | } |
111 | 113 | TableHTML::OutputFooter(false); |
112 | 114 | } |
@@ -79,7 +79,7 @@ | ||
79 | 79 | foreach ($stack as $data) { |
80 | 80 | $url_option[] = URL::GetList($request, $data); |
81 | 81 | } |
82 | - ArrayFilter::Merge($list, IconDB::SetQueryIn($query, $request, $stack)); | |
82 | + ArrayFilter::AddMerge($list, IconDB::SetQueryIn($query, $request, $stack)); | |
83 | 83 | } |
84 | 84 | } |
85 | 85 |
@@ -86,7 +86,7 @@ | ||
86 | 86 | $stack = self::OutputSelector(RequestDataIcon::KEYWORD, IconMessage::KEYWORD); |
87 | 87 | if (0 < count($stack)) { |
88 | 88 | $keyword = $stack[0]; |
89 | - ArrayFilter::Merge($list, IconDB::SetQueryLike($query, $keyword)); | |
89 | + ArrayFilter::AddMerge($list, IconDB::SetQueryLike($query, $keyword)); | |
90 | 90 | } else { |
91 | 91 | $keyword = ''; |
92 | 92 | } |
@@ -51,7 +51,7 @@ | ||
51 | 51 | $stack = Cast::Stack()->Get(Cast::DELETE); |
52 | 52 | foreach (OptionFilterData::$add_sub_role as $option) { |
53 | 53 | if (DB::$ROOM->IsOption($option) && OptionLoader::LoadFile($option)) { |
54 | - ArrayFilter::Merge($stack, OptionLoader::Load($option)->Cast()); | |
54 | + ArrayFilter::AddMerge($stack, OptionLoader::Load($option)->Cast()); | |
55 | 55 | } |
56 | 56 | } |
57 | 57 | Cast::Stack()->Set(Cast::DELETE, $stack); |
@@ -16,7 +16,9 @@ | ||
16 | 16 | //希望役職リスト取得 |
17 | 17 | public function GetWishRole() { |
18 | 18 | $stack = ['none']; |
19 | - if (! DB::$ROOM->IsOption($this->name)) return $stack; | |
19 | + if (false === DB::$ROOM->IsOption($this->name)) { | |
20 | + return $stack; | |
21 | + } | |
20 | 22 | |
21 | 23 | //固有判定 |
22 | 24 | if (DB::$ROOM->IsChaosWish()) { |
@@ -30,10 +32,12 @@ | ||
30 | 32 | //普通村ベース |
31 | 33 | array_push($stack, 'human', 'wolf'); |
32 | 34 | if (DB::$ROOM->IsQuiz()) { |
33 | - ArrayFilter::Merge($stack, OptionLoader::Load('quiz')->GetWishRole()); | |
35 | + ArrayFilter::AddMerge($stack, OptionLoader::Load('quiz')->GetWishRole()); | |
34 | 36 | } else { |
35 | 37 | array_push($stack, 'mage', 'necromancer', 'mad', 'guard', 'common'); |
36 | - if (DB::$ROOM->IsOption('detective')) $stack[] = 'detective_common'; | |
38 | + if (DB::$ROOM->IsOption('detective')) { | |
39 | + $stack[] = 'detective_common'; | |
40 | + } | |
37 | 41 | $stack[] = 'fox'; |
38 | 42 | } |
39 | 43 |
@@ -40,11 +44,11 @@ | ||
40 | 44 | //追加役職 |
41 | 45 | foreach (OptionFilterData::$add_wish_role as $option) { |
42 | 46 | if (DB::$ROOM->IsOption($option)) { |
43 | - ArrayFilter::Merge($stack, OptionLoader::Load($option)->GetWishRole()); | |
47 | + ArrayFilter::AddMerge($stack, OptionLoader::Load($option)->GetWishRole()); | |
44 | 48 | } |
45 | 49 | } |
46 | 50 | |
47 | - if (DB::$ROOM->IsOptionGroup('mania') && ! in_array('mania', $stack)) { | |
51 | + if (DB::$ROOM->IsOptionGroup('mania') && false === in_array('mania', $stack)) { | |
48 | 52 | $stack[] = 'mania'; |
49 | 53 | } |
50 | 54 | return $stack; |
@@ -61,7 +61,7 @@ | ||
61 | 61 | final public function Guard(User $user) { |
62 | 62 | $stack = []; //護衛者検出 |
63 | 63 | foreach (RoleLoader::LoadFilter('guard') as $filter) { |
64 | - ArrayFilter::Merge($stack, $filter->GetGuard($user->id)); | |
64 | + ArrayFilter::AddMerge($stack, $filter->GetGuard($user->id)); | |
65 | 65 | } |
66 | 66 | //Text::p($stack, sprintf('◆List [gurad/%s]', $this->GetVoter()->uname)); |
67 | 67 |
@@ -123,10 +123,12 @@ | ||
123 | 123 | //表示対象サブ役職取得 |
124 | 124 | public static function GetDisplayList(array $list) { |
125 | 125 | $stack = []; |
126 | - if (count($list) < 1) return $stack; | |
126 | + if (count($list) < 1) { | |
127 | + return $stack; | |
128 | + } | |
127 | 129 | |
128 | 130 | foreach (['real', 'virtual'] as $name) { |
129 | - ArrayFilter::Merge($stack, RoleFilterData::${'display_' . $name}); | |
131 | + ArrayFilter::AddMerge($stack, RoleFilterData::${'display_' . $name}); | |
130 | 132 | } |
131 | 133 | //Text::p($stack, '◆SubRole'); |
132 | 134 |
@@ -45,7 +45,7 @@ | ||
45 | 45 | $max = DB::$USER->Count(); |
46 | 46 | $stack = []; |
47 | 47 | foreach ($list as $id) { |
48 | - ArrayFilter::Merge($stack, array_values(Position::GetChain($id, $max))); | |
48 | + ArrayFilter::AddMerge($stack, array_values(Position::GetChain($id, $max))); | |
49 | 49 | } |
50 | 50 | |
51 | 51 | $around_list = []; |
@@ -58,7 +58,9 @@ | ||
58 | 58 | //確率判定 |
59 | 59 | $rate = min(80, count($around_list) * 10); |
60 | 60 | //Text::p($rate, '◆Rate'); |
61 | - if (Lottery::Percent(100 - $rate)) return; | |
61 | + if (Lottery::Percent(100 - $rate)) { | |
62 | + return false; | |
63 | + } | |
62 | 64 | |
63 | 65 | //会話能力者判定 |
64 | 66 | $step_flag = false; |
@@ -71,6 +73,8 @@ | ||
71 | 73 | break; |
72 | 74 | } |
73 | 75 | } |
74 | - if ($step_flag) $this->Step($list); | |
76 | + if (true === $step_flag) { | |
77 | + $this->Step($list); | |
78 | + } | |
75 | 79 | } |
76 | 80 | } |
@@ -59,7 +59,7 @@ | ||
59 | 59 | $option_role = RoomDB::Get('option_role'); |
60 | 60 | } |
61 | 61 | $this->option_role = new OptionParser($option_role); |
62 | - ArrayFilter::Merge($this->option_list, array_keys($this->option_role->list)); | |
62 | + ArrayFilter::AddMerge($this->option_list, array_keys($this->option_role->list)); | |
63 | 63 | } |
64 | 64 | |
65 | 65 | //ゲームオプションの展開処理 |
@@ -859,6 +859,15 @@ | ||
859 | 859 | } |
860 | 860 | |
861 | 861 | //霊界の配役公開判定 |
862 | + /* | |
863 | + 非公開条件 | |
864 | + ・身代わり君は判定対象外 | |
865 | + ・天人存在 (能力発動前) | |
866 | + ・イタコ生存 (投票前) | |
867 | + ・時間差コピー能力者 (投票前 / 能力発動前) | |
868 | + ・蘇生能力者生存 | |
869 | + ・イタコ/口寄せシステム発動中 | |
870 | + */ | |
862 | 871 | public function IsOpenCast() { |
863 | 872 | $evoke_scanner = []; |
864 | 873 | $mind_evoke = []; |
@@ -866,20 +875,29 @@ | ||
866 | 875 | if ($user->IsDummyBoy()) continue; |
867 | 876 | |
868 | 877 | if ($user->IsRole('revive_priest')) { |
869 | - if ($user->IsActive()) return false; | |
878 | + if ($user->IsActive()) { | |
879 | + return false; | |
880 | + } | |
870 | 881 | } elseif ($user->IsRole('evoke_scanner')) { |
871 | 882 | if ($user->IsLive()) { |
872 | - if (DB::$ROOM->IsDate(1)) return false; | |
883 | + if (DB::$ROOM->IsDate(1)) { | |
884 | + return false; | |
885 | + } | |
873 | 886 | $evoke_scanner[] = $user->id; |
874 | 887 | } |
875 | 888 | } elseif (RoleUser::IsDelayCopy($user)) { |
876 | - if (DB::$ROOM->IsDate(1) || ! is_null($user->GetMainRoleTarget())) return false; | |
889 | + //厳密には1日目の投票前に死亡した場合は公開可となるがレアケースなので対応しない | |
890 | + if (DB::$ROOM->IsDate(1) || false === is_null($user->GetMainRoleTarget())) { | |
891 | + return false; | |
892 | + } | |
877 | 893 | } elseif (RoleUser::IsRevive($user) || $user->IsRole('revive_mania')) { |
878 | - if ($user->IsLive()) return false; | |
894 | + if ($user->IsLive()) { | |
895 | + return false; | |
896 | + } | |
879 | 897 | } |
880 | 898 | |
881 | 899 | if ($user->IsRole('mind_evoke')) { |
882 | - ArrayFilter::Merge($mind_evoke, $user->GetPartner('mind_evoke')); | |
900 | + ArrayFilter::AddMerge($mind_evoke, $user->GetPartner('mind_evoke')); | |
883 | 901 | } |
884 | 902 | } |
885 | 903 | return count(array_intersect($evoke_scanner, $mind_evoke)) < 1; |