Completed
Push — master ( 24e320...176aa1 )
by Vincenzo
04:45 queued 57s
created
api/Lib/DsManager/Helpers/RandomFiller.php 2 patches
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -46,7 +46,7 @@  discard block
 block discarded – undo
46 46
 
47 47
 
48 48
 	/**
49
-	 * @param null $forcedRole
49
+	 * @param string|null $forcedRole
50 50
 	 * @param null $locale
51 51
 	 * @return Player
52 52
 	 */
@@ -148,7 +148,7 @@  discard block
 block discarded – undo
148 148
 	}
149 149
 
150 150
 	/**
151
-	 * @param $locale
151
+	 * @param string $locale
152 152
 	 * @return mixed
153 153
 	 */
154 154
 	private function nationalityFromLocale($locale)
Please login to merge, or discard this patch.
Unused Use Statements   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -4,9 +4,9 @@
 block discarded – undo
4 4
 namespace App\Lib\DsManager\Helpers;
5 5
 
6 6
 
7
-use App\Lib\DsManager\Models\Coach;
8
-use App\Lib\DsManager\Models\Player;
9
-use App\Lib\DsManager\Models\Team;
7
+use App\Lib\DsManager\Models\Coach;
8
+use App\Lib\DsManager\Models\Player;
9
+use App\Lib\DsManager\Models\Team;
10 10
 use App\Lib\Helpers\Config;
11 11
 
12 12
 /**
Please login to merge, or discard this patch.
api/database/migrations/CreateTeamTable.php 2 patches
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -4,19 +4,19 @@
 block discarded – undo
4 4
 
5 5
 class CreateTeamTable
6 6
 {
7
-    /**
8
-     * Run the migrations.
9
-     *
10
-     * @return void
11
-     */
12
-    public function run()
13
-    {
14
-        Capsule::schema()->dropIfExists('teams');
15
-        Capsule::schema()->create('teams', function ($table) {
16
-            $table->increments('id');
17
-            $table->string('name');
18
-            $table->string('nationality',2);
19
-            $table->timestamps();
20
-        });
21
-    }
7
+	/**
8
+	 * Run the migrations.
9
+	 *
10
+	 * @return void
11
+	 */
12
+	public function run()
13
+	{
14
+		Capsule::schema()->dropIfExists('teams');
15
+		Capsule::schema()->create('teams', function ($table) {
16
+			$table->increments('id');
17
+			$table->string('name');
18
+			$table->string('nationality',2);
19
+			$table->timestamps();
20
+		});
21
+	}
22 22
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -12,10 +12,10 @@
 block discarded – undo
12 12
     public function run()
13 13
     {
14 14
         Capsule::schema()->dropIfExists('teams');
15
-        Capsule::schema()->create('teams', function ($table) {
15
+        Capsule::schema()->create('teams', function($table) {
16 16
             $table->increments('id');
17 17
             $table->string('name');
18
-            $table->string('nationality',2);
18
+            $table->string('nationality', 2);
19 19
             $table->timestamps();
20 20
         });
21 21
     }
Please login to merge, or discard this patch.
api/database/migrations/CreateCoachesTable.php 2 patches
Indentation   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -4,35 +4,35 @@
 block discarded – undo
4 4
 
5 5
 class CreateCoachesTable
6 6
 {
7
-    /**
8
-     * Run the migrations.
9
-     *
10
-     * @return void
11
-     */
12
-    public function run()
13
-    {
14
-        Capsule::schema()->dropIfExists('coaches');
15
-        Capsule::schema()->create('coaches', function ($table) {
16
-            $table->increments('id');
17
-            $table->string('name');
18
-            $table->string('surname');
19
-            $table->tinyInteger('age');
20
-            $table->string('nationality',2);
21
-            $table->float('skillAvg');
22
-            $table->float('wageReq');
23
-            $table->string('favouriteModule',10);
24
-            $table->integer('team_id')->nullable();
25
-            $table->timestamps();
26
-        });
27
-    }
7
+	/**
8
+	 * Run the migrations.
9
+	 *
10
+	 * @return void
11
+	 */
12
+	public function run()
13
+	{
14
+		Capsule::schema()->dropIfExists('coaches');
15
+		Capsule::schema()->create('coaches', function ($table) {
16
+			$table->increments('id');
17
+			$table->string('name');
18
+			$table->string('surname');
19
+			$table->tinyInteger('age');
20
+			$table->string('nationality',2);
21
+			$table->float('skillAvg');
22
+			$table->float('wageReq');
23
+			$table->string('favouriteModule',10);
24
+			$table->integer('team_id')->nullable();
25
+			$table->timestamps();
26
+		});
27
+	}
28 28
 
29
-    /**
30
-     * Reverse the migrations.
31
-     *
32
-     * @return void
33
-     */
34
-    public function down()
35
-    {
36
-        Schema::drop('coaches');
37
-    }
29
+	/**
30
+	 * Reverse the migrations.
31
+	 *
32
+	 * @return void
33
+	 */
34
+	public function down()
35
+	{
36
+		Schema::drop('coaches');
37
+	}
38 38
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -12,15 +12,15 @@
 block discarded – undo
12 12
     public function run()
13 13
     {
14 14
         Capsule::schema()->dropIfExists('coaches');
15
-        Capsule::schema()->create('coaches', function ($table) {
15
+        Capsule::schema()->create('coaches', function($table) {
16 16
             $table->increments('id');
17 17
             $table->string('name');
18 18
             $table->string('surname');
19 19
             $table->tinyInteger('age');
20
-            $table->string('nationality',2);
20
+            $table->string('nationality', 2);
21 21
             $table->float('skillAvg');
22 22
             $table->float('wageReq');
23
-            $table->string('favouriteModule',10);
23
+            $table->string('favouriteModule', 10);
24 24
             $table->integer('team_id')->nullable();
25 25
             $table->timestamps();
26 26
         });
Please login to merge, or discard this patch.
api/database/migrations/CreatePlayersTable.php 2 patches
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -4,26 +4,26 @@
 block discarded – undo
4 4
 
5 5
 class CreatePlayersTable
6 6
 {
7
-    /**
8
-     * Run the migrations.
9
-     *
10
-     * @return void
11
-     */
12
-    public function run()
13
-    {
14
-        Capsule::schema()->dropIfExists('players');
15
-        Capsule::schema()->create('players', function ($table) {
16
-            $table->increments('id');
17
-            $table->string('name');
18
-            $table->string('surname');
19
-            $table->tinyInteger('age');
20
-            $table->string('nationality',2);
21
-            $table->float('skillAvg');
22
-            $table->float('wageReq');
23
-            $table->float('val');
24
-            $table->string('role',2);
25
-            $table->integer('team_id')->nullable();
26
-            $table->timestamps();
27
-        });
28
-    }
7
+	/**
8
+	 * Run the migrations.
9
+	 *
10
+	 * @return void
11
+	 */
12
+	public function run()
13
+	{
14
+		Capsule::schema()->dropIfExists('players');
15
+		Capsule::schema()->create('players', function ($table) {
16
+			$table->increments('id');
17
+			$table->string('name');
18
+			$table->string('surname');
19
+			$table->tinyInteger('age');
20
+			$table->string('nationality',2);
21
+			$table->float('skillAvg');
22
+			$table->float('wageReq');
23
+			$table->float('val');
24
+			$table->string('role',2);
25
+			$table->integer('team_id')->nullable();
26
+			$table->timestamps();
27
+		});
28
+	}
29 29
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -12,16 +12,16 @@
 block discarded – undo
12 12
     public function run()
13 13
     {
14 14
         Capsule::schema()->dropIfExists('players');
15
-        Capsule::schema()->create('players', function ($table) {
15
+        Capsule::schema()->create('players', function($table) {
16 16
             $table->increments('id');
17 17
             $table->string('name');
18 18
             $table->string('surname');
19 19
             $table->tinyInteger('age');
20
-            $table->string('nationality',2);
20
+            $table->string('nationality', 2);
21 21
             $table->float('skillAvg');
22 22
             $table->float('wageReq');
23 23
             $table->float('val');
24
-            $table->string('role',2);
24
+            $table->string('role', 2);
25 25
             $table->integer('team_id')->nullable();
26 26
             $table->timestamps();
27 27
         });
Please login to merge, or discard this patch.
api/tests/ModelsTest.php 1 patch
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
 		$team = $rndF->getTeam();
66 66
 
67 67
 		//var_dump($team->toArray());
68
-		echo "\n" . $team->name . " avg:";
68
+		echo "\n".$team->name." avg:";
69 69
 		echo $team->getAvgSkill();
70 70
 
71 71
 		echo "\n Adding player:";
@@ -98,8 +98,8 @@  discard block
 block discarded – undo
98 98
 		for ($i = 1; $i <= 20; $i++) {
99 99
 			echo "\n\n-------------";
100 100
 			$team = $rndF->getTeam();
101
-			echo "\n team: " . $team->name;
102
-			echo "\n nat:  " . $team->nationality;
101
+			echo "\n team: ".$team->name;
102
+			echo "\n nat:  ".$team->nationality;
103 103
 			echo "\n skill avg: ";
104 104
 			echo $team->getAvgSkill();
105 105
 			echo "\n age avg: ";
@@ -118,9 +118,9 @@  discard block
 block discarded – undo
118 118
 			$rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
119 119
 			$italian = $rndF->getTeam();
120 120
 
121
-			echo "\n" . $italian->name . "(" . $italian->getAvgSkill() . ") - " . $spanish->name . "(" . $spanish->getAvgSkill() . ") ...... ";
121
+			echo "\n".$italian->name."(".$italian->getAvgSkill().") - ".$spanish->name."(".$spanish->getAvgSkill().") ...... ";
122 122
 			$result = (new \App\Lib\DsManager\Models\Match($italian, $spanish))->simulate()->toArray();
123
-			echo $result['goalHome'] . " - " . $result['goalAway'];
123
+			echo $result['goalHome']." - ".$result['goalAway'];
124 124
 			echo "\n\n";
125 125
 		}
126 126
 
@@ -146,9 +146,9 @@  discard block
 block discarded – undo
146 146
 			$rndF = new \App\Lib\DsManager\Helpers\RandomFiller($randomLocale);
147 147
 			$opponent = $rndF->getTeam();
148 148
 
149
-			echo "\n" . $opponent->name . "(" . $opponent->getAvgSkill() . ") - " . $myTeam->name . "(" . $myTeam->getAvgSkill() . ") ...... ";
149
+			echo "\n".$opponent->name."(".$opponent->getAvgSkill().") - ".$myTeam->name."(".$myTeam->getAvgSkill().") ...... ";
150 150
 			$result = (new \App\Lib\DsManager\Models\Match($opponent, $myTeam))->simulate()->toArray();
151
-			echo $result['goalHome'] . " - " . $result['goalAway'];
151
+			echo $result['goalHome']." - ".$result['goalAway'];
152 152
 			$result = $result['info'];
153 153
 			if (!$result['isDraw']) {
154 154
 				if ($result['winner']->name == $myTeam->name) {
@@ -178,10 +178,10 @@  discard block
 block discarded – undo
178 178
 		$modules = array_keys($modules);
179 179
 		foreach ($modules as $mod) {
180 180
 			$module = new \App\Lib\DsManager\Models\Module($mod);
181
-			echo "\n------------\n\n" . $module;
182
-			echo "\nD: " . $module->isDefensive();
183
-			echo "\nB: " . $module->isBalanced();
184
-			echo "\nO: " . $module->isOffensive();
181
+			echo "\n------------\n\n".$module;
182
+			echo "\nD: ".$module->isDefensive();
183
+			echo "\nB: ".$module->isBalanced();
184
+			echo "\nO: ".$module->isOffensive();
185 185
 			echo "\n";
186 186
 			print_r($module->getRoleNeeded());
187 187
 			echo "\napplicable? ";
Please login to merge, or discard this patch.
api/tests/ModuleConfigurationTest.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -42,7 +42,7 @@  discard block
 block discarded – undo
42 42
 			$this->assertNotEmpty($module["roles"]);
43 43
 			foreach ($module["roles"] as $index => $playNum) {
44 44
 				if ($playNum != 0)
45
-					echo $playNum . " " . $roles[$rolesKeys[$index]]["description"] . " ";
45
+					echo $playNum." ".$roles[$rolesKeys[$index]]["description"]." ";
46 46
 			}
47 47
 		}
48 48
 	}
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
 		echo "\n";
59 59
 
60 60
 		for ($i = 1; $i <= 100; $i++) {
61
-			echo $i . " . ";
61
+			echo $i." . ";
62 62
 			if (\App\Lib\DsManager\Helpers\Randomizer::boolOnPercentage(20)) {
63 63
 				echo "yes";
64 64
 				$yes++;
Please login to merge, or discard this patch.
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -41,8 +41,9 @@
 block discarded – undo
41 41
 			echo "\nto play $key\n";
42 42
 			$this->assertNotEmpty($module["roles"]);
43 43
 			foreach ($module["roles"] as $index => $playNum) {
44
-				if ($playNum != 0)
45
-					echo $playNum . " " . $roles[$rolesKeys[$index]]["description"] . " ";
44
+				if ($playNum != 0) {
45
+									echo $playNum . " " . $roles[$rolesKeys[$index]]["description"] . " ";
46
+				}
46 47
 			}
47 48
 		}
48 49
 	}
Please login to merge, or discard this patch.
api/tests/ExampleTest.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -12,7 +12,7 @@
 block discarded – undo
12 12
 	 */
13 13
 	public function testIlluminateConnection()
14 14
 	{
15
-		Illuminate\Database\Capsule\Manager::schema()->create('test', function ($table) {
15
+		Illuminate\Database\Capsule\Manager::schema()->create('test', function($table) {
16 16
 			$table->increments('id');
17 17
 			$table->string('email')->unique();
18 18
 			$table->timestamps();
Please login to merge, or discard this patch.
api/Lib/DsManager/Models/Player.php 1 patch
Braces   +45 added lines, -15 removed lines patch added patch discarded remove patch
@@ -44,7 +44,9 @@  discard block
 block discarded – undo
44 44
 		$val -= rand(1, 3);
45 45
 		$val += $this->onRoleModifier();
46 46
 		$val += $this->spareChange();
47
-		if ($val < 0) $val = $val * -1;
47
+		if ($val < 0) {
48
+			$val = $val * -1;
49
+		}
48 50
 		$val = round($val, 2);
49 51
 		return $val;
50 52
 	}
@@ -57,7 +59,9 @@  discard block
 block discarded – undo
57 59
 		if ($this->wageReq == null) {
58 60
 			$wage = round($this->getVal() / 10.0, 2);
59 61
 			$wage += $this->spareChange();
60
-			if ($wage < 0) $wage = $wage * -1;
62
+			if ($wage < 0) {
63
+				$wage = $wage * -1;
64
+			}
61 65
 			$this->wageReq = round($wage, 2);
62 66
 		}
63 67
 		return $this->wageReq;
@@ -80,13 +84,27 @@  discard block
 block discarded – undo
80 84
 	 */
81 85
 	private function priceOnSkill()
82 86
 	{
83
-		if ($this->skillAvg > 98) return 130.0;
84
-		if ($this->skillAvg > 90) return 80.0;
85
-		if ($this->skillAvg > 80) return 50.0;
86
-		if ($this->skillAvg > 76) return 20.0;
87
-		if ($this->skillAvg > 70) return 10.0;
88
-		if ($this->skillAvg > 60) return 5.0;
89
-		if ($this->skillAvg > 50) return 2.0;
87
+		if ($this->skillAvg > 98) {
88
+			return 130.0;
89
+		}
90
+		if ($this->skillAvg > 90) {
91
+			return 80.0;
92
+		}
93
+		if ($this->skillAvg > 80) {
94
+			return 50.0;
95
+		}
96
+		if ($this->skillAvg > 76) {
97
+			return 20.0;
98
+		}
99
+		if ($this->skillAvg > 70) {
100
+			return 10.0;
101
+		}
102
+		if ($this->skillAvg > 60) {
103
+			return 5.0;
104
+		}
105
+		if ($this->skillAvg > 50) {
106
+			return 2.0;
107
+		}
90 108
 		return 0.5;
91 109
 
92 110
 	}
@@ -96,12 +114,24 @@  discard block
 block discarded – undo
96 114
 	 */
97 115
 	private function onAgeModifier()
98 116
 	{
99
-		if ($this->age > 32) return -0.5;
100
-		if ($this->age > 30) return -0.2;
101
-		if ($this->age > 28) return -0.1;
102
-		if ($this->age > 26) return 0.1;
103
-		if ($this->age > 22) return 0.2;
104
-		if ($this->age > 20) return 0.3;
117
+		if ($this->age > 32) {
118
+			return -0.5;
119
+		}
120
+		if ($this->age > 30) {
121
+			return -0.2;
122
+		}
123
+		if ($this->age > 28) {
124
+			return -0.1;
125
+		}
126
+		if ($this->age > 26) {
127
+			return 0.1;
128
+		}
129
+		if ($this->age > 22) {
130
+			return 0.2;
131
+		}
132
+		if ($this->age > 20) {
133
+			return 0.3;
134
+		}
105 135
 		return 0.5;
106 136
 	}
107 137
 
Please login to merge, or discard this patch.
api/Lib/DsManager/Models/Match.php 1 patch
Indentation   +144 added lines, -144 removed lines patch added patch discarded remove patch
@@ -10,149 +10,149 @@
 block discarded – undo
10 10
  */
11 11
 class Match
12 12
 {
13
-    /**
14
-     * @var Team
15
-     */
16
-    private $homeTeam;
17
-    /**
18
-     * @var Team
19
-     */
20
-    private $awayTeam;
21
-
22
-    /**
23
-     * Match constructor.
24
-     * @param Team $home
25
-     * @param Team $away
26
-     */
27
-    public function __construct(Team $home, Team $away)
28
-    {
29
-        $this->homeTeam = $home;
30
-        $this->awayTeam = $away;
31
-    }
32
-
33
-    /**
34
-     * @return MatchResult
35
-     */
36
-    public function simulate()
37
-    {
38
-        $homePoints = $this->homeTeam->getAvgSkill();
39
-        $awayPoints = $this->awayTeam->getAvgSkill();
40
-
41
-        $homePoints += $this->malusModule(
42
-            $this->homeTeam->coach->favouriteModule,
43
-            $this->homeTeam->playersPerRoleArray()
44
-        );
45
-        $awayPoints += $this->malusModule(
46
-            $this->awayTeam->coach->favouriteModule,
47
-            $this->awayTeam->playersPerRoleArray()
48
-        );
49
-
50
-        $goalHome = 0;
51
-        $goalAway = 0;
52
-
53
-        if (Randomizer::boolOnPercentage(80)) {
54
-
55
-            if (($homePoints - $awayPoints) < 0) {
56
-                $goalAway = ($awayPoints - $homePoints) % 6;
57
-                $goalHome += $this->chance();
58
-                $goalAway += $this->chance();
59
-                $goalHome += $this->bonusHome();
60
-            } else {
61
-                $goalHome = ($homePoints - $awayPoints) % 6;
62
-                $goalAway += $this->chance();
63
-                $goalHome += $this->bonusHome();
64
-            }
65
-
66
-        } else {
67
-            $goalHome += $this->chance();
68
-            $goalAway += $this->chance();
69
-            $goalHome += $this->bonusHome();
70
-        }
71
-
72
-        $goalHome += $this->bonusAge($this->homeTeam);
73
-        $goalAway += $this->bonusAge($this->awayTeam);
74
-
75
-
76
-        //Bonus on Good GoalKeeper
77
-        $goalies = $this->homeTeam->getBestPlayerForRole("GK");
78
-        $goalAway -= $this->bonusGoalkeeper($goalies);
79
-        $goalies = $this->awayTeam->getBestPlayerForRole("GK");
80
-        $goalHome -= $this->bonusGoalkeeper($goalies);
81
-        //
82
-
83
-        $homeModule = new Module($this->homeTeam->coach->favouriteModule);
84
-        $awayModule = new Module($this->awayTeam->coach->favouriteModule);
85
-
86
-        if ($homeModule->isOffensive()) {
87
-            $goalHome += Randomizer::boolOnPercentage(50) ? rand(1, 2) : 0;
88
-            $goalAway += Randomizer::boolOnPercentage(20) ? 1 : 0;
89
-        }
90
-        if ($awayModule->isOffensive()) {
91
-            $goalAway += Randomizer::boolOnPercentage(50) ? rand(1, 2) : 0;
92
-            $goalHome += Randomizer::boolOnPercentage(20) ? 1 : 0;
93
-        }
94
-
95
-        if ($awayModule->isDefensive()) {
96
-            $goalHome -= Randomizer::boolOnPercentage(50) ? 1 : 0;
97
-        }
98
-        if ($homeModule->isDefensive()) {
99
-            $goalAway -= Randomizer::boolOnPercentage(50) ? 1 : 0;
100
-        }
101
-
102
-        $goalHome = $goalHome < 0 ? 0 : $goalHome;
103
-        $goalAway = $goalAway < 0 ? 0 : $goalAway;
104
-        return new MatchResult($goalHome, $goalAway, $this->homeTeam, $this->awayTeam);
105
-    }
106
-
107
-    private function bonusAge(Team $team)
108
-    {
109
-        if ($team->getAvgAge() > 29 || $team->getAvgAge() < 24) {
110
-            return $this->chance();
111
-        }
112
-        return 0;
113
-    }
114
-
115
-    /**
116
-     * @param $goalkeeper
117
-     * @return int
118
-     */
119
-    private function bonusGoalKeeper($goalkeeper)
120
-    {
121
-
122
-        $skillGoalkeeper = empty($goalkeeper) ? 1 : $goalkeeper->skillAvg;
123
-        return (Randomizer::boolOnPercentage($skillGoalkeeper) ? 1 : 0);
124
-
125
-    }
126
-
127
-    /**
128
-     * @return int
129
-     */
130
-    private function chance()
131
-    {
132
-        return rand(0, 3);
133
-    }
134
-
135
-    /**
136
-     * @return int
137
-     */
138
-    private function bonusHome()
139
-    {
140
-        return Randomizer::boolOnPercentage(66) ? 1 : 0;
141
-    }
142
-
143
-    /**
144
-     * @param $moduleString
145
-     * @param $playersRoleArray
146
-     * @return int
147
-     */
148
-    private function malusModule($moduleString, $playersRoleArray)
149
-    {
150
-        $module = new Module($moduleString);
151
-        if ($module->isApplicableToArray($playersRoleArray)) {
152
-            return rand(1, 10);
153
-        } else {
154
-            return (-1) * rand(1, 10);
155
-        }
156
-    }
13
+	/**
14
+	 * @var Team
15
+	 */
16
+	private $homeTeam;
17
+	/**
18
+	 * @var Team
19
+	 */
20
+	private $awayTeam;
21
+
22
+	/**
23
+	 * Match constructor.
24
+	 * @param Team $home
25
+	 * @param Team $away
26
+	 */
27
+	public function __construct(Team $home, Team $away)
28
+	{
29
+		$this->homeTeam = $home;
30
+		$this->awayTeam = $away;
31
+	}
32
+
33
+	/**
34
+	 * @return MatchResult
35
+	 */
36
+	public function simulate()
37
+	{
38
+		$homePoints = $this->homeTeam->getAvgSkill();
39
+		$awayPoints = $this->awayTeam->getAvgSkill();
40
+
41
+		$homePoints += $this->malusModule(
42
+			$this->homeTeam->coach->favouriteModule,
43
+			$this->homeTeam->playersPerRoleArray()
44
+		);
45
+		$awayPoints += $this->malusModule(
46
+			$this->awayTeam->coach->favouriteModule,
47
+			$this->awayTeam->playersPerRoleArray()
48
+		);
49
+
50
+		$goalHome = 0;
51
+		$goalAway = 0;
52
+
53
+		if (Randomizer::boolOnPercentage(80)) {
54
+
55
+			if (($homePoints - $awayPoints) < 0) {
56
+				$goalAway = ($awayPoints - $homePoints) % 6;
57
+				$goalHome += $this->chance();
58
+				$goalAway += $this->chance();
59
+				$goalHome += $this->bonusHome();
60
+			} else {
61
+				$goalHome = ($homePoints - $awayPoints) % 6;
62
+				$goalAway += $this->chance();
63
+				$goalHome += $this->bonusHome();
64
+			}
65
+
66
+		} else {
67
+			$goalHome += $this->chance();
68
+			$goalAway += $this->chance();
69
+			$goalHome += $this->bonusHome();
70
+		}
71
+
72
+		$goalHome += $this->bonusAge($this->homeTeam);
73
+		$goalAway += $this->bonusAge($this->awayTeam);
74
+
75
+
76
+		//Bonus on Good GoalKeeper
77
+		$goalies = $this->homeTeam->getBestPlayerForRole("GK");
78
+		$goalAway -= $this->bonusGoalkeeper($goalies);
79
+		$goalies = $this->awayTeam->getBestPlayerForRole("GK");
80
+		$goalHome -= $this->bonusGoalkeeper($goalies);
81
+		//
82
+
83
+		$homeModule = new Module($this->homeTeam->coach->favouriteModule);
84
+		$awayModule = new Module($this->awayTeam->coach->favouriteModule);
85
+
86
+		if ($homeModule->isOffensive()) {
87
+			$goalHome += Randomizer::boolOnPercentage(50) ? rand(1, 2) : 0;
88
+			$goalAway += Randomizer::boolOnPercentage(20) ? 1 : 0;
89
+		}
90
+		if ($awayModule->isOffensive()) {
91
+			$goalAway += Randomizer::boolOnPercentage(50) ? rand(1, 2) : 0;
92
+			$goalHome += Randomizer::boolOnPercentage(20) ? 1 : 0;
93
+		}
94
+
95
+		if ($awayModule->isDefensive()) {
96
+			$goalHome -= Randomizer::boolOnPercentage(50) ? 1 : 0;
97
+		}
98
+		if ($homeModule->isDefensive()) {
99
+			$goalAway -= Randomizer::boolOnPercentage(50) ? 1 : 0;
100
+		}
101
+
102
+		$goalHome = $goalHome < 0 ? 0 : $goalHome;
103
+		$goalAway = $goalAway < 0 ? 0 : $goalAway;
104
+		return new MatchResult($goalHome, $goalAway, $this->homeTeam, $this->awayTeam);
105
+	}
106
+
107
+	private function bonusAge(Team $team)
108
+	{
109
+		if ($team->getAvgAge() > 29 || $team->getAvgAge() < 24) {
110
+			return $this->chance();
111
+		}
112
+		return 0;
113
+	}
114
+
115
+	/**
116
+	 * @param $goalkeeper
117
+	 * @return int
118
+	 */
119
+	private function bonusGoalKeeper($goalkeeper)
120
+	{
121
+
122
+		$skillGoalkeeper = empty($goalkeeper) ? 1 : $goalkeeper->skillAvg;
123
+		return (Randomizer::boolOnPercentage($skillGoalkeeper) ? 1 : 0);
124
+
125
+	}
126
+
127
+	/**
128
+	 * @return int
129
+	 */
130
+	private function chance()
131
+	{
132
+		return rand(0, 3);
133
+	}
134
+
135
+	/**
136
+	 * @return int
137
+	 */
138
+	private function bonusHome()
139
+	{
140
+		return Randomizer::boolOnPercentage(66) ? 1 : 0;
141
+	}
142
+
143
+	/**
144
+	 * @param $moduleString
145
+	 * @param $playersRoleArray
146
+	 * @return int
147
+	 */
148
+	private function malusModule($moduleString, $playersRoleArray)
149
+	{
150
+		$module = new Module($moduleString);
151
+		if ($module->isApplicableToArray($playersRoleArray)) {
152
+			return rand(1, 10);
153
+		} else {
154
+			return (-1) * rand(1, 10);
155
+		}
156
+	}
157 157
 
158 158
 }
159 159
\ No newline at end of file
Please login to merge, or discard this patch.