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 ( 9c91a5...05804d )
by Dan
33s queued 16s
created

checkPortTradeable()   A

Complexity

Conditions 5
Paths 5

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 9
dl 0
loc 14
rs 9.6111
c 0
b 0
f 0
cc 5
nc 5
nop 2
1
<?php declare(strict_types=1);
2
3
function check_bargain_number(int $amount, int $ideal_price, int $offered_price, int $bargain_price, Page $container, SmrPlayer $player) : void {
4
	$var = Smr\Session::getInstance()->getCurrentVar();
5
6
	$port = $player->getSectorPort();
7
8
	// increase current number of tries
9
	$container['number_of_bargains'] = isset($var['number_of_bargains']) ? $var['number_of_bargains'] + 1 : 1;
10
11
	if (isset($var['overall_number_of_bargains'])) {
12
		// lose relations for bad bargain
13
		$player->decreaseRelationsByTrade($amount, $port->getRaceID());
14
		$player->increaseHOF(1, array('Trade', 'Results', 'Fail'), HOF_PUBLIC);
15
		// transfer values
16
		$container->addVar('overall_number_of_bargains');
17
18
		// does we have enough of it?
19
		if ($container['number_of_bargains'] > $container['overall_number_of_bargains']) {
20
			$player->decreaseRelationsByTrade($amount, $port->getRaceID());
21
			$player->increaseHOF(1, array('Trade', 'Results', 'Epic Fail'), HOF_PUBLIC);
22
			create_error('You don\'t want to accept my offer? I\'m sick of you! Get out of here!');
23
		}
24
25
		$port_off = IRound($offered_price * 100 / $ideal_price);
26
		$trader_off = IRound($bargain_price * 100 / $ideal_price);
27
28
		// get relative numbers!
29
		// be carefull! one of this value is negative!
30
		$port_off_rel = 100 - $port_off;
31
		$trader_off_rel = 100 - $trader_off;
32
33
		// only do something, if we are more off than the trader
34
		if (abs($port_off_rel) > abs($trader_off_rel)) {
35
			// get a random number between
36
			// (port_off) and (100 +/- $trader_off_rel)
37
			if (100 + $trader_off_rel < $port_off) {
38
				$offer_modifier = rand(100 + $trader_off_rel, $port_off);
39
			} else {
40
				$offer_modifier = rand($port_off, 100 + $trader_off_rel);
41
			}
42
43
			$container['offered_price'] = IRound($container['ideal_price'] * $offer_modifier / 100);
44
		}
45
	} else {
46
		$container['overall_number_of_bargains'] = rand(2, 5);
47
	}
48
}
49