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
Pull Request — master (#1078)
by Dan
05:25
created

SmrScoutDrones::getNumberOfSDs()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 2
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