Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Failed Conditions
Push — master ( 9b048e...fe1ddb )
by Dan
23s queued 16s
created

SmrScoutDrones::getModifiedAccuracy()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php declare(strict_types=1);
2
3
class SmrScoutDrones extends AbstractSmrCombatWeapon {
4
	use Traits\CombatWeaponForce;
5
6
	public function __construct(int $numberOfSDs) {
7
		$this->amount = $numberOfSDs;
8
		$this->name = 'Scout Drones';
9
		$this->shieldDamage = 20;
10
		$this->armourDamage = 20;
11
		$this->accuracy = 100;
12
		$this->damageRollover = false;
13
	}
14
15
	public function getModifiedAccuracy() : float {
16
		$modifiedAccuracy = $this->getBaseAccuracy();
17
		return $modifiedAccuracy;
18
	}
19
20
	public function getModifiedForceAccuracyAgainstPlayer(SmrForce $forces, AbstractSmrPlayer $targetPlayer) : float {
21
		return $this->getModifiedForceAccuracyAgainstPlayerUsingRandom($forces, $targetPlayer, rand(1, 7) * rand(1, 7));
22
	}
23
24
	protected function getModifiedForceAccuracyAgainstPlayerUsingRandom(SmrForce $forces, AbstractSmrPlayer $targetPlayer, int $random) : float {
0 ignored issues
show
Unused Code introduced by
The parameter $forces is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

24
	protected function getModifiedForceAccuracyAgainstPlayerUsingRandom(/** @scrutinizer ignore-unused */ SmrForce $forces, AbstractSmrPlayer $targetPlayer, int $random) : float {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
25
		$modifiedAccuracy = $this->getModifiedAccuracy();
26
		$modifiedAccuracy -= $targetPlayer->getLevelID() + $random;
27
28
		return max(0, min(100, $modifiedAccuracy));
29
	}
30
31
	public function getModifiedDamageAgainstForces(AbstractSmrPlayer $weaponPlayer, SmrForce $forces) : array {
32
		$return = array('MaxDamage' => 0, 'Shield' => 0, 'Armour' => 0, 'Rollover' => $this->isDamageRollover());
33
		return $return;
34
	}
35
36
	public function getModifiedDamageAgainstPort(AbstractSmrPlayer $weaponPlayer, SmrPort $port) : array {
37
		$return = array('MaxDamage' => 0, 'Shield' => 0, 'Armour' => 0, 'Rollover' => $this->isDamageRollover());
38
		return $return;
39
	}
40
41
	public function getModifiedDamageAgainstPlanet(AbstractSmrPlayer $weaponPlayer, SmrPlanet $planet) : array {
42
		$return = array('MaxDamage' => 0, 'Shield' => 0, 'Armour' => 0, 'Rollover' => $this->isDamageRollover());
43
		return $return;
44
	}
45
46
	public function getModifiedDamageAgainstPlayer(AbstractSmrPlayer $weaponPlayer, AbstractSmrPlayer $targetPlayer) : array {
47
		$return = array('MaxDamage' => 0, 'Shield' => 0, 'Armour' => 0, 'Rollover' => $this->isDamageRollover());
48
		return $return;
49
	}
50
51
	public function getModifiedPortDamageAgainstPlayer(SmrPort $port, AbstractSmrPlayer $targetPlayer) : array {
52
		$return = array('MaxDamage' => 0, 'Shield' => 0, 'Armour' => 0, 'Rollover' => $this->isDamageRollover());
53
		return $return;
54
	}
55
56
	public function getModifiedPlanetDamageAgainstPlayer(SmrPlanet $planet, AbstractSmrPlayer $targetPlayer) : array {
57
		$return = array('MaxDamage' => 0, 'Shield' => 0, 'Armour' => 0, 'Rollover' => $this->isDamageRollover());
58
		return $return;
59
	}
60
61
	public function getModifiedForceDamageAgainstPlayer(SmrForce $forces, AbstractSmrPlayer $targetPlayer) : array {
62
		if (!$this->canShootTraders()) { // If we can't shoot traders then just return a damageless array and don't waste resources calculated any damage mods.
63
			$return = array('MaxDamage' => 0, 'Shield' => 0, 'Armour' => 0, 'Rollover' => $this->isDamageRollover());
64
			return $return;
65
		}
66
		$damage = $this->getDamage();
67
		$damage['Launched'] = ICeil($this->getAmount() * $this->getModifiedForceAccuracyAgainstPlayer($forces, $targetPlayer) / 100);
68
		$damage['MaxDamage'] = ICeil($damage['Launched'] * $damage['MaxDamage']);
69
		$damage['Shield'] = ICeil($damage['Launched'] * $damage['Shield']);
70
		$damage['Armour'] = ICeil($damage['Launched'] * $damage['Armour']);
71
		return $damage;
72
	}
73
74
	public function shootForces(AbstractSmrPlayer $weaponPlayer, SmrForce $forces) : array {
75
		$return = array('Weapon' => $this, 'TargetForces' => $forces);
76
		return $return;
77
	}
78
79
	public function shootPlayer(AbstractSmrPlayer $weaponPlayer, AbstractSmrPlayer $targetPlayer) : array {
80
		$return = array('Weapon' => $this, 'TargetPlayer' => $targetPlayer, 'Hit' => false);
81
		return $return;
82
	}
83
84
	public function shootPlayerAsForce(SmrForce $forces, AbstractSmrPlayer $targetPlayer) : array {
85
		$return = array('Weapon' => $this, 'TargetPlayer' => $targetPlayer, 'Hit' => true);
86
		$return = $this->doForceDamageToPlayer($return, $forces, $targetPlayer);
87
		$forces->takeSDs($return['WeaponDamage']['Launched']);
88
		return $return;
89
	}
90
}
91