public static function isValidPosition($x, $y, $userId) { $buildingsSettings = BuildingsController::getSettings(); //pour le debug $sql = "SELECT id\n\t\t\t\tFROM building_users\n\t\t\t\tWHERE user_id = " . $userId . "\n\t\t\t\t\tAND x = " . $x . "\n\t\t\t\t\tAND y = " . $y; $result = $GLOBALS['app']['db']->fetchAll($sql); if (count($result) != 0) { return false; } $lanterns = LanternsController::getLanterns($userId); foreach ($lanterns as $lantern) { if (sqrt(pow($lantern[x] - $x, 2) + pow($lantern[y] - $y, 2)) < $buildingsSettings["lanterns"]["action_radius"]) { return true; } } return false; }
/** * Converti les bonus en gold * @param bonusCount * @param paradeSettings */ private function convertBonusToGold($bonusCount, $paradeSettings, $userId) { $paradeSettings = file_get_contents(__DIR__ . "./../../../assets/json/paradeSettings.json", FILE_USE_INCLUDE_PATH); $paradeSettings = json_decode($paradeSettings, true); $buildingsSettings = BuildingsController::getSettings(); $sql = "SELECT lvl FROM building_city_hall WHERE user_id = '" . $userId . "'"; $result = $GLOBALS['app']['db']->fetchAll($sql); $mainBuildingLevel = $result[0]["lvl"]; $goldPerBonus = $paradeSettings['goldPerBonus'] + $paradeSettings['goldPerBonus'] * ($paradeSettings['goldMultiplierByMainBuilding'] * $mainBuildingLevel); $goldIncremented = $paradeSettings['goldIncremented'] + $paradeSettings['goldIncremented'] * ($paradeSettings['goldMultiplierByMainBuilding'] * $mainBuildingLevel); $gold = $goldPerBonus * $bonusCount; $goldIncrementedTotal = 0; for ($i = 0; $i < $bonusCount; $i++) { $goldIncrementedTotal = ($i + 1) * $goldIncremented; } $sql = "SELECT lvl FROM building_pyrotechnician WHERE user_id = '" . $userId . "'"; $result = $GLOBALS['app']['db']->fetchAll($sql); foreach ($result as $buildingPyrotechnician) { $gold += $buildingsSettings['pyrotechnician'][$buildingPyrotechnician['lvl']]['production_per_parade']; } return $gold + $goldIncrementedTotal; }